-
Notifications
You must be signed in to change notification settings - Fork 8
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
POST to monitormywatershed.org broken #658
Comments
Thanks @neilh10, this is very helpful information! I was initially confused by this behavior because our git history shows no changes to nginx config file. Nginx presently handles HTTP/S routing for us. Upon further inspection of the settings file on production server, I found a block at the top of the specification which explicitly reroutes only http traffic to monitormywatershed.org to the https equivalent. Generally speaking that is the behavior we want for most site traffic, however I have an explicit exception to not reroute */api/ traffic because the current upload protocol was not designed to handle the 301 redirect. I have removed that block from the nginx config, so I would expect your original post to monitormywatershed.org will now work correctly, and not return a 301. I'll look into the how that block made its way into our production config. It is possible that our certificate management system automatically populated that block, but I'll look into it further. Would you be able to try your original post again and verify the correct behavior? |
Hi @ptomasula thanks for the looking at it. The sites that stopped delivering data Apr 12 The reliable delivery algorithm's that I've implemented should now kick in - However, trying from my test station at my desk, I'm getting timeouts after 8seconds (then lengthed it to 10seconds) Then suddenly it accepts the POST and responds in 700mS [2023-05-23 10:14:22.397] -- Response Code -- 201 waited 770 mS Timeout 10000 |
Thanks @neilh10, glad to hear it is mostly working now. A 504 response is a gateway timeout. I have received a few notifications about brief performance issues this afternoon, so it is likely related to that. The performance slowdowns might actually be an artifact of the batch upload. When that algorithm attempts to reupload, I assume it issues each data point as a separate request? I don't think the endpoint support batch upload, so I think it would have to be multiple requests. We have a request to support that, but have not implemented that yet. |
@ptomasula seems to be delivering slowly .
The core architectural discussion seems to me to be "reliable delivery", and then it can be broken into separate architectural components. If the server benefits from multiple uploads per tcp/ip session then that would be one approach. for LCC45 these are defined as A timeout also represents a lot of used power. For the https://monitormywatershed.org/sites/nh_LCC45/ downloading the historical data, it seems it is getting a lot of timeouts. In 90minutes of elapsed time, 6 upload attempts at 15minutes, Its only uploaded 3 historical data items. It is set to upload a max of 100 items each attempt - so it could have uploaded 6*100 historical items. Here is the data from my test system, set to upload every 2min, starting with a back log of data, and first few noted [2023-05-23 10:14:14.770] -- Response Code -- 201 waited 938 mS Timeout 10000 [2023-05-23 10:16:24.737] -- Response Code -- 504 waited 10011 mS Timeout 10000 - failed, que reading |
@ptomasula thanks its still working, Seemed this was a repeat of #522 (comment) The historical data upload is at a snails pace and even simple POSTs fail with a no response in 10seconds on my test . |
@ptomasula its still working and I'll close this issue. Be good to know where the official entrypoints for the server are documented. |
In using POSTs to monitormywatershed.org I'm getting a 301
This started happening after the upgrade on March 12th upgrade v0.15.0?
#316
#542
On a POST to monitormywatershed.org
when I change to data.envirodiy.org
The text was updated successfully, but these errors were encountered: