|
The scenario under which this bug can occur is:
- Donor starts migration of chunk C to Recipient at which point the recipient will have C on the pending list.
- Donor sends applyOps command to the config server, which blocks for some reason before it reaches the the CSRS primary.
- With the applyOps command not having run yet, the recipient is restarted, at which point it will forget about the pending chunk. At this point the recipient can potentially run cleanupOrphans, which would wipe out the contents of C.
- Donor's applyOps command finally runs and the hand-off of chunk to recipient is successful at which point the contents of that chunk would be lost.
|