fix: wait for Connect.lookup_or_start_connection
to be ready
#1466
+112
−20
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.
What kind of change does this PR introduce?
This helps with cold starts as multiple websocket connections might happen at the same time.
Scenario 1:
Connect.lookup_or_start_connection
is called once;Connect
process starts up sosyn
already registered the process;Connect.lookup_or_start_connection
is called and syn already acknowledges that aConnect
for that tenant exists but noconn
has been assigned yet to the syn metadata;Scenario 2:
Connect.lookup_or_start_connection
is called from multiple nodes very quickly;DynamicSupervisor
on the same partition which means that one of them will proceed creating while the other ones will block and eventually get:already_started
;init
which will already have aconn
set.Additional context
Add any other context or screenshots.