Skip to content

Get rid of read retry in NIO #319

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

Closed
acogoluegnes opened this issue Oct 16, 2017 · 0 comments
Closed

Get rid of read retry in NIO #319

acogoluegnes opened this issue Oct 16, 2017 · 0 comments
Assignees
Milestone

Comments

@acogoluegnes
Copy link
Contributor

acogoluegnes commented Oct 16, 2017

See https://groups.google.com/d/msg/rabbitmq-users/9J5wTtrS4q8/zgwOdfTIAwAJ.

This retry pulls data from the network, it's not consistent with NIO and impedes performances. First thing is to reliably reproduce it (with big messages, small ByteBuffer size, or using the broker across the network). Fixing it could imply that some frames aren't complete, making the NIO loop slightly more complicated.

@acogoluegnes acogoluegnes self-assigned this Oct 16, 2017
acogoluegnes added a commit that referenced this issue Nov 10, 2017
A FrameBuilder class has been introduced to be able to read a frame
in several network reads. The frame builder keeps track of
the partial frame state. This avoids pulling from the network
when the channel doesn't come back with any value from a network
read, which is against the NIO philosophy.

References #319
acogoluegnes added a commit that referenced this issue Nov 10, 2017
acogoluegnes added a commit that referenced this issue Nov 20, 2017
acogoluegnes added a commit that referenced this issue Nov 20, 2017
Class does not longer exist.

References #319
acogoluegnes added a commit that referenced this issue Nov 20, 2017
@michaelklishin michaelklishin added this to the 4.4.0 milestone Nov 22, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants