Skip to content

Commit

Permalink
Merge #31842
Browse files Browse the repository at this point in the history
31842: storage: fix disappearing RHS merge bug r=tschottdorf,bdarnell a=benesch

The strategy used by the replica GC queue to determine whether a
subsumed range can be GC'd is flawed. If a replica of the LHS was
uninitialized at the time the merge commmitted, there is a small window
where the replica GC queue can think that it's safe to clean up an RHS
replica when in fact the uninitialized LHS replica could still
initialize and apply a merge trigger that required that RHS to be
present.

Make the replica GC queue's strategy valid by requiring that all
replicas of the LHS are initialized before beginning a merge
transaction. This closes the window during which a replica of the RHS
could be incorrectly GC'd with a patch that is small enough to be
backported to v2.1.1.

Fix #31719.

Release note: None

Co-authored-by: Nikhil Benesch <[email protected]>
  • Loading branch information
craig[bot] and benesch committed Oct 28, 2018
2 parents e9e3ff2 + a3b85db commit 441d713
Show file tree
Hide file tree
Showing 6 changed files with 694 additions and 44 deletions.
Loading

0 comments on commit 441d713

Please sign in to comment.