-
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
Large responses written slowly due to allocating too small buffers #1106
Conversation
...nsions/core/runtime/src/main/java/io/quarkiverse/cxf/transport/VertxServletOutputStream.java
Dismissed
Show dismissed
Hide dismissed
...nsions/core/runtime/src/main/java/io/quarkiverse/cxf/transport/VertxServletOutputStream.java
Fixed
Show fixed
Hide fixed
...nsions/core/runtime/src/main/java/io/quarkiverse/cxf/transport/VertxServletOutputStream.java
Fixed
Show fixed
Hide fixed
...nsions/core/runtime/src/main/java/io/quarkiverse/cxf/transport/VertxServletOutputStream.java
Fixed
Show fixed
Hide fixed
...nsions/core/runtime/src/main/java/io/quarkiverse/cxf/transport/VertxServletOutputStream.java
Dismissed
Show dismissed
Hide dismissed
...nsions/core/runtime/src/main/java/io/quarkiverse/cxf/transport/VertxServletOutputStream.java
Dismissed
Show dismissed
Hide dismissed
...nsions/core/runtime/src/main/java/io/quarkiverse/cxf/transport/VertxServletOutputStream.java
Dismissed
Show dismissed
Hide dismissed
@franz1981 @geoand I tried to implement your suggestions here: I have taken the latest Porting the part with I did some benchmarks and the performance on my machine is great:
|
Added comments explaining from where the two new classes originate. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, my only suggestion is related the tests; to avoid being captured by another regression, in the future, adding a test which ensure we are same or better than the expected number of packets, for a large write, would be great
9714f01: added the test ensuring that there is an expected number of chunks. |
The way how I implemented the counting of chunks in ChunkedTest through overriding HTTP Client classes is all but elegant. Anybody knows of a nicer approach? |
integration-tests/server/src/main/java/io/quarkiverse/cxf/it/server/LargeEntityServiceImpl.java
Fixed
Show fixed
Hide fixed
integration-tests/server/src/test/java/io/quarkiverse/cxf/it/server/ChunkedTest.java
Fixed
Show fixed
Hide fixed
6da774a: made the CodeQL happy. |
These tests are never easy to be implemented...
As you can see there are no elegant one, just some could make uses of existing bits to shorten the amount of code and appear better, because the ugliness is well confined elsewhere :P |
Thanks for the suggestions, @franz1981! I think it would be better to avoid changing anything on the server so that we do not influence other tests (which are also run in native mode) in this module. I am not finding any usable proxy implementation. Thus, I am going to merge like this. |
Open Questions:
|
Let me route these to @geoand which have a much better knowledge of quarkus's module deps, and I can help doing it |
Very unlikely
I really don't want such kind of coupling |
Fair enough, thanks for the clear statement, @geoand |
🙏 |
fix #1066