Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # 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 010gvr force-pushed the feat/netty-bytebuf branch from 9e9a096 to 30dbb3e Compare November 6, 2019 16:24
@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
# for free to join this conversation on GitHub. Already have an account? # 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