fix: stale caches for sync state when peer is added #732
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.
This fixes the following bug:
This happened because of two stale state caches, both of which I fixed.
NamespaceSyncState
's cache needed to be invalidated when a peer gets added. I did this by adding an update inCoreSyncState#addPeer
, whichNamespaceSyncState
"listens to".SyncState
's cache also needed to be invalidated. I investigated doing this before realizing that its cache only saves a single method call toNamespaceSyncState.prototype.getState
, which is itself cached. Rather than properly fix the cache (which would add some additional complexity), I simply removed it.Fixes #724.