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

reader: improve RDY logic #253

Closed
3 of 5 tasks
jehiah opened this issue Aug 19, 2013 · 2 comments
Closed
3 of 5 tasks

reader: improve RDY logic #253

jehiah opened this issue Aug 19, 2013 · 2 comments

Comments

@jehiah
Copy link
Member

jehiah commented Aug 19, 2013

In nsqio/pynsq#37 and nsqio/pynsq#38 we greatly improved pynsq RDY handling. I think the following are remaining differences between go-nsq and pynsq in regards to RDY handling

  • At connection add, a new connection can be starved because a separate connection could have the full max-in-flight value (bug)
  • New connections that can't send the full RDY for a connection should send a truncated RDY value and delay/retry sending RDY when unable to send as a result of global max-in-flight
  • When going into backoff all connections should be updated to RDY 0 immediately
  • When coming out of backoff, a single connection should be updated with RDY 1 (and redistribute should move it to another connection as appropriate)
  • Comprehensive reader tests (matching pynsq)

I'm going to open separate issues to tackle these items. This can track the overall issue of parity (there are probably things i'm forgetting) and we can close it when we are satisfied.

cc: @mreiferson

@mreiferson
Copy link
Member

👍

@mreiferson
Copy link
Member

closing, see #264

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