-
Notifications
You must be signed in to change notification settings - Fork 237
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
RecursionError in MessageAccumulator.add_message method #409
Milestone
Comments
Will have to look at it tomorrow. Thanks for the issue, seems like a bug!) |
Hey, do you happen to use linger_ms option? |
tvoinarovskyi
added a commit
that referenced
this issue
Sep 2, 2018
@vmagamedov Again thanks for the issue. I was able to reproduce it only in combination with linger_ms, but got the same exception. I hope this will fix it for you! |
Thanks for the fix! I'm using |
tvoinarovskyi
added a commit
that referenced
this issue
Sep 2, 2018
Added fix for issue #409, RecursionError in producer.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
There were something wrong with Kafka:
Then one of
producer.send_and_wait()
method calls was cancelled due to timeout error:Then every other attempt to send a message fails immediately with this error:
Kafka restored to the normal state, but only two of three service instances also restored. One instance constantly fails with
RecursionError
. Instance restart helps.I think that
RecursionError
happens becauseyield from batch.wait_drain(timeout)
returns immediately.And probably this is possible in one case: when batch was popped from accumulator, and then added again using
MessageAccumulator.reenqueue
method call. But at this time batch returned to theMessageAccumulator._batches
dict has already_drain_waiter
future indone
state. Which causesRecursionError
.The text was updated successfully, but these errors were encountered: