Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
In all the testing we have done (and quite extensively) this assert happened only once. However we run debug builds in production and this assert can't happen otherwise the task crashes. I suspect, it's something to do with the underlying rdkafka library where either a message delivery callback was called twice or there was a duplicate ack from kafka, or something like that. I checked the buffered producer code and the
pending_acks_
is only incremented in a single place. It could also be thatproduce()
actually sent the message but returned an error afterwards, meaning thepending_acks_
counter was not incremented but kafka still sent an ack back. In any case, this happened only once.