-
Notifications
You must be signed in to change notification settings - Fork 25
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
fix(GODT-1757): Remove Snapshot locks
Prior to this patch the updates to other session states were applied immediately by going through all the available states in `backend.user` and applying the changes immediately. This patch changes the architecture so that all state updates for other session states are queued via a channel rather than executed immediately. This removes the need for snapshot lock, snapshot messages lock, IDLE lock and responder lock as we no longer have two sessions accessing state from one another. To ensure the current state is still update, we mark all context with the stateID (when available) and if the stateID matches one of the states in the list, the update is applied immediately. The downside is that every state now has to verify that this update can be executed locally rather than checking in advance. Finally this patch also fixes some update code to remove unnecessary memory duplication. Note: The `userWrapper` is a temporary type that will be remove in the next patch.
- Loading branch information
1 parent
5014519
commit 6347efd
Showing
18 changed files
with
696 additions
and
516 deletions.
There are no files selected for viewing
This file contains 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
This file contains 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
This file contains 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
This file contains 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
Oops, something went wrong.