This repository has been archived by the owner on Sep 19, 2019. It is now read-only.
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Implement new database deletion logic
This patch makes the response to a DB deletion request depend only on the content of the shard_db and not on the presence or absence of files on disk. We respond with a 'not_found' if the local node has no entry for the database in its partition table cache, or if every worker fails to find any live leaf revision (this should be very rare, since the workers were generated from an in-memory cache of a live leaf revision), an 'ok' if all cluster nodes confirm that all leaf revisions of the document are deleted and at least one node actually performed a delete, an 'accepted' if a majority confirm the same, and an error tuple otherwise. The patch also uses rexi_monitor to receive information about down nodes. It ensures that database deletions do not block until the timeout when a node is down. Thanks Bob Dionne for various implementations and reviews.
- Loading branch information
Showing
3 changed files
with
68 additions
and
29 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