fix: prevent check_connections from dropping connections during setup#387
Merged
BewareMyPower merged 1 commit intostreamnative:masterfrom Jan 15, 2026
Merged
Conversation
When using topic_regex or multi-topic consumers, there is a race condition between getting a connection for topic refresh and the check_connections cleanup task. The strong_count check could cause connections to be dropped if check_connections runs while connect() is in progress, since connect() temporarily downgrades the Arc ref. This commit adds a 5-second grace period for newly created connections, allowing them to be picked up by consumers/producers before being considered for cleanup. Fixes: streamnative#386
ce5272b to
ff62b0a
Compare
Contributor
Author
|
@BewareMyPower you've been helping review some of @chamons contributions recently, and this PR pertains to those (PR #384 ). Now that Thanks in advance. |
BewareMyPower
approved these changes
Jan 15, 2026
chamons
reviewed
Jan 20, 2026
Contributor
chamons
left a comment
There was a problem hiding this comment.
Fix looks reasonable to me, good catch.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
When using topic_regex or multi-topic consumers, there is a race condition between getting a connection for topic refresh and the check_connections cleanup task. The strong_count check could cause connections to be dropped if check_connections runs while connect() is in progress, since connect() temporarily downgrades the Arc ref.
This commit adds a 5-second grace period for newly created connections, allowing them to be picked up by consumers/producers before being considered for cleanup.
Fixes: #386