generated from quarkiverse/quarkiverse-template
-
Notifications
You must be signed in to change notification settings - Fork 61
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
VertxHttpClientHTTPConduit-backed client hangs when receiving large responses under load #1613
Comments
ppalaga
added a commit
to ppalaga/quarkus-cxf
that referenced
this issue
Nov 24, 2024
responses under load, fix quarkiverse#1613
ppalaga
added a commit
to ppalaga/quarkus-cxf
that referenced
this issue
Nov 24, 2024
responses under load, fix quarkiverse#1613
ppalaga
added a commit
to ppalaga/quarkus-cxf
that referenced
this issue
Nov 24, 2024
responses under load, fix quarkiverse#1613
ppalaga
added a commit
to ppalaga/quarkus-cxf
that referenced
this issue
Nov 24, 2024
responses under load, fix quarkiverse#1613
ppalaga
added a commit
to ppalaga/quarkus-cxf
that referenced
this issue
Nov 24, 2024
responses under load, fix quarkiverse#1613
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
This is currently the main hypothesis about the root cause of the second issue reported in #1582
Before Quarkus CXF 3.17.0, the implementation of VertxHttpClientHTTPConduit used a stock
java.io
pipe to pass the response body data from Vert.x event loop to the worker thread. The pipe was build ofPipedOutputStream
andPipedInputStream
. In situations when Vert.x event loop passed the body data in more than one chunks, the event loop was blocked waiting for the worker thread to drain the fixed size buffer of the pipe. While the Vert.x event loop was blocked, all Vert.x based functionality of the application (other exchanges of the same client, other Vert.x clients, REST endpoints, ...) was hanging. Eventually a warning similar to the following one may have appeared in the log:In Quarkus CXF 3.17.0, the blocking
java.io
pipe was replaced by a non-blocking Vert.x pipe with properly implemented back pressure for the case when the worker thread consumes the data more slowly than it is produced by the Vert.x event loop.The text was updated successfully, but these errors were encountered: