Skip to content

Latest commit

 

History

History
53 lines (34 loc) · 1.19 KB

move.md

File metadata and controls

53 lines (34 loc) · 1.19 KB

Move

When a range is assigned to a node (a), and we want it to be assigned to a different node (b), we move it.

  1. Prepare(b)
  2. Deactivate(a)
  3. Activate(b)
  4. Drop(a)

TestMove

Failures

If step 1 fails, abort the move:

  1. Prepare(b)

TestMoveFailure_Prepare


If step 2 fails, do nothing. We are stuck until the source placement relinquishes the range:

  1. Prepare(b)
  2. Deactivate(a)

TestMoveFailure_Deactivate


If step 3 fails, reactivate the source placement, drop the destination placement, and abort the move:

  1. Prepare(b)
  2. Deactivate(a)
  3. Activate(b)
  4. Activate(a)
  5. Drop(b)

TestMoveFailure_Activate


If step 4 fails, do nothing but keep trying forever:

  1. Prepare(b)
  2. Deactivate(a)
  3. Activate(b)
  4. Drop(a)

TestMoveFailure_Drop