Avoid race condition on asynchronous update tasks #1841
Merged
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.
Issue #: #1448 & #1805
Description of changes: #1448 explains issue (see my comment at bottom). This change simply defers ingestion of index/resubscribe check until after the update completes.
Testing: With the pagination demo I can repro this occaisonally if I join a meeting with 3 videos, and 2 per page, local backend. The resubscribe spam in beginning of call seem to lead to one video being missing. I don't see the issue after change. Its also trivial to inspect logs to verify this works as expected.
Can these tested using a demo application? Please provide reproducible step-by-step instructions.
Not really, without looking at logs and trying to spam resubscribes.
Checklist:
Have you successfully run
npm run build:release
locally?y
Do you add, modify, or delete public API definitions? If yes, has that been reviewed and approved?
n
Do you change the wire protocol, e.g. the request method? If yes, has that been reviewed and approved?
n
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.