[dataexchange] Fixing Deadlock on Reconnect #1654
Merged
+3
−14
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.
Proposed changes
If you restart a DX FF is connected to, it will cause FF to initialize and reconnect to it.
But with the recent #1652, we want to check the node's identity status relative to the DX config, but we wrongfully checked if the DX plugin was initialized - causing a deadlock since during reconnect we are holding the lock that re-initializes the plugin 🔁 .
It's safe to check the node identity status when we are not initialized since it is the same thing as GetEndpointInfo with some extra work.
Types of changes
Please make sure to follow these points
< issue name >
egAdded links in the documentation
.Screenshots (If Applicable)
Other Information
See kaleido-io#125 for original downstream fix.