You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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)
Improve redistribution (redistribute during backoff but not when in a backoff block, redistribute on edge cases with max in flight, redistribute when a connection closes and it had RDY and we were in backoff)
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.
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
max-in-flight
value (bug)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
The text was updated successfully, but these errors were encountered: