Please sign in to comment.
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 with 68 additions and 29 deletions.