-
Notifications
You must be signed in to change notification settings - Fork 919
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
Request timeout is resulting #5572
Comments
Because you didn't send the body, the request isn't aggregated: After 5 seconds, the request is timed out and 503 is sent to the client. armeria/core/src/main/java/com/linecorp/armeria/server/DefaultServerErrorHandler.java Lines 89 to 92 in 5f6a3b4
Because the response is sent to the server, the request is exceptionally complete with armeria/core/src/main/java/com/linecorp/armeria/server/HttpServerHandler.java Lines 740 to 746 in 0ab1721
Eventually, the request is exceptionally complete with the Even though you try to send the If you wish to return
By the way, I think we need to fix Armeria server return
https://httpwg.org/specs/rfc9110.html#status.408 Let me create an issue for that. |
@minwoox , Thank you for the detailed response. This helps a lot, and now I understand why the exception was not brought into the I tried the solution you suggested to use the However, we do use an You can see these three lines here: https://github.com/dlvenable/armeria-sample/blob/c49e968fff07b49a2ab2212e70984d60b408a44e/src/main/java/io/venable/samples/armeria/request_timeout/RequestTimeoutExperiment.java#L51-L53 When I use Also, I did trying adding it to the What do you think the solution is here?
I agree that this is the best long-term solution. This should be the default response for this situation. |
Here is the behavior from the
output:
|
Oops, we have a bug.
So the service request context isn't created which triggers the timeout exception. 😓 Let me fix that soon. Thanks for the report! |
@minwoox , When do you think you could have a fix for the decoder? This is something that is causing us some significant difficulties. |
@dlvenable, Will release the patch version next week. Thanks a lot for your patience. |
@dlvenable, it's fixed in https://armeria.dev/release-notes/1.28.2. 😆 |
Thank you @minwoox for making this fix and releasing the patch! |
We are seeing issues where a request timeout in our Armeria server is resulting in a
503 Service Unavailable
status. I have experimented with this and found a way to reproduce with cURL. But, when I try to handle this error, I still get the503 Service Unavailable
response.I created a web server to attempt to reproduce this. You can see it all in isolation here:
https://github.com/dlvenable/armeria-sample/blob/9564375620b329fcfd254a25efe8bdfc9e58480c/src/main/java/io/venable/samples/armeria/request_timeout/RequestTimeoutExperiment.java
I then run:
It results in:
I see the following logs:
From this experiment I see that the specific exception which is passed into the decorator is
ResponseCompleteException
.However, even though I return a
HttpStatus.REQUEST_TIMEOUT
response, I get the same 513 error.https://github.com/dlvenable/armeria-sample/blob/9564375620b329fcfd254a25efe8bdfc9e58480c/src/main/java/io/venable/samples/armeria/request_timeout/RequestTimeoutExperiment.java#L76-L79
It appears that there may be a bug here. Otherwise, am I configuring something incorrectly here?
The text was updated successfully, but these errors were encountered: