Skip to content
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

Rewritten Netty Jersey implementation using direct ByteBuf consumption #4312

Merged
merged 1 commit into from
Nov 29, 2019

Conversation

010gvr
Copy link
Contributor

@010gvr 010gvr commented Nov 6, 2019

This commit contains a rewritten implementation of Netty Jersey server and client with the following major changes:

  1. Consume ByteBufs from HttpContent as-is for processing, reduces a lot of overhead.
  2. Fixes a bug on reading 0-byte or 1-byte JSON content
  3. Add three new configurable ChunkedInput buffer properties through jersey.ci.capacity, jersey.ci.read.timeout and jersey.ci.write.timeout
  4. Add configurable payload size through jersey.max.http.request.entitySizeMb , defaults to 50 Mb

This change should fix some of the long pending bug reports in #3500 , #3568 and #4286 . This may also resolve #4285

Signed-off-by: Venkat Ganesh 010gvr@gmail.com

@010gvr 010gvr force-pushed the feat/netty-bytebuf branch 2 times, most recently from dc2c3c7 to 9e9a096 Compare November 6, 2019 16:21
Signed-off-by: Venkat Ganesh <010gvr@gmail.com>
@010gvr
Copy link
Contributor Author

010gvr commented Nov 6, 2019

Any interest in this?

@senivam senivam merged commit 8dcfed4 into eclipse-ee4j:master Nov 29, 2019
010gvr pushed a commit to 010gvr/jersey that referenced this pull request Nov 30, 2019
Current unit tests only validate Netty's `JerseyClientHandler` against a Grizzly http server. This commit adds test cases to validate the same using Netty's `JerseyServerHandler`.

Also adding extra test cases to effectively validate the bug fixes for eclipse-ee4j#3500 and eclipse-ee4j#3568 (that is, these new test cases will fail if ran against the code base older than eclipse-ee4j#4312)

Fixes eclipse-ee4j#3500 and eclipse-ee4j#3568

Signed-off-by: Venkat Ganesh <010gvr@gmail.com>
010gvr pushed a commit to 010gvr/jersey that referenced this pull request Nov 30, 2019
Current unit tests only validate Netty's `JerseyClientHandler` against a Grizzly http server. This commit adds test cases to validate the same using Netty's `JerseyServerHandler` using `NettyTestContainerFactory`.

Also adding extra test cases to effectively validate the bug fixes for eclipse-ee4j#3500 and eclipse-ee4j#3568 (that is, these new test cases will fail if ran against the code base older than eclipse-ee4j#4312)

Fixes eclipse-ee4j#3500 and eclipse-ee4j#3568

Signed-off-by: Venkat Ganesh <010gvr@gmail.com>
010gvr pushed a commit to 010gvr/jersey that referenced this pull request Nov 30, 2019
Current unit tests only validate Netty's `JerseyClientHandler` against a Grizzly http server. This commit adds test cases to validate the same using Netty's `JerseyServerHandler` using `NettyTestContainerFactory`.

Also adding extra test cases to effectively validate the bug fixes for eclipse-ee4j#3500 and eclipse-ee4j#3568 (that is, these new test cases will fail if ran against the code base older than eclipse-ee4j#4312)

Fixes eclipse-ee4j#3500 and eclipse-ee4j#3568

Signed-off-by: Venkat Ganesh <010gvr@gmail.com>
010gvr added a commit to 010gvr/jersey that referenced this pull request Nov 30, 2019
Current unit tests only validate Netty's `JerseyClientHandler` against a Grizzly http server. This commit adds test cases to validate the same using Netty's `JerseyServerHandler` using `NettyTestContainerFactory`.

Also adding extra test cases to effectively validate the bug fixes for eclipse-ee4j#3500 and eclipse-ee4j#3568 (that is, these new test cases will fail if ran against the code base older than eclipse-ee4j#4312)

Fixes eclipse-ee4j#3500 and eclipse-ee4j#3568

Signed-off-by: Venkat Ganesh <010gvr@gmail.com>
@010gvr 010gvr deleted the feat/netty-bytebuf branch November 30, 2019 16:24
010gvr added a commit to 010gvr/jersey that referenced this pull request Nov 30, 2019
Current unit tests only validate Netty's `JerseyClientHandler` against a Grizzly http server. This commit adds test cases to validate the same using Netty's `JerseyServerHandler` using `NettyTestContainerFactory`.

Also adding extra test cases to effectively validate the bug fixes for eclipse-ee4j#3500 and eclipse-ee4j#3568 (that is, these new test cases will fail if ran against the code base older than eclipse-ee4j#4312)

Fixes eclipse-ee4j#3500 and eclipse-ee4j#3568

Signed-off-by: Venkat Ganesh <010gvr@gmail.com>
010gvr added a commit to 010gvr/jersey that referenced this pull request Dec 1, 2019
Current unit tests only validate Netty's `JerseyClientHandler` against a Grizzly http server. This commit adds test cases to validate the same using Netty's `JerseyServerHandler` using `NettyTestContainerFactory`.

Also adding extra test cases to effectively validate the bug fixes for eclipse-ee4j#3500 and eclipse-ee4j#3568 (that is, these new test cases will fail if ran against the code base older than eclipse-ee4j#4312)

Fixes eclipse-ee4j#3500 and eclipse-ee4j#3568

Signed-off-by: Venkat Ganesh <010gvr@gmail.com>
010gvr added a commit to 010gvr/jersey that referenced this pull request Dec 1, 2019
Current unit tests only validate Netty's `JerseyClientHandler` against a Grizzly http server. This commit adds test cases to validate the same using Netty's `JerseyServerHandler` using `NettyTestContainerFactory`.

Also adding extra test cases to effectively validate the bug fixes for eclipse-ee4j#3500 and eclipse-ee4j#3568 (that is, these new test cases will fail if ran against the code base older than eclipse-ee4j#4312)

Fixes eclipse-ee4j#3500 and eclipse-ee4j#3568

Signed-off-by: Venkat Ganesh <010gvr@gmail.com>
@jansupol jansupol added this to the 2.30 milestone Dec 16, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Netty Connector's JerseyClientHandler should defer notification for arriving content
3 participants