forked from FiloSottile/sunlight
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
ctlog: write pending tiles to protect against concurrent sequencers
If two sequencers (somehow) end up running at the same time, they could scribble over each other's uploads to the backend storage. Protect against that special case by writing the tiles in two steps. First, all tiles are staged in a unique tar file (keyed by the hash of the new tree), and only written to their final location after a successful lock update. In the normal case, this will incur one extra upload and delete, adding one write operation, and double the amount of data written to backend storage. To make sure that the (rare) recovery code path is well-tested, use the same code path in both the recovery and normal case. A special IAM policy could allow deletes only of pending files.
- Loading branch information
1 parent
0e8f0c2
commit b89dbd8
Showing
5 changed files
with
269 additions
and
40 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
Oops, something went wrong.