The replication stress test case failed over the weekend since one of the replicas went missing. Still diagnosing the issue, but it seems like the chain of events was something like:
- a block report was generated on one of the nodes while the block was being written - thus the block report listed the block as RBW
- when the standby replayed this queued message, it was replayed after the file was marked complete. Thus it marked this replica as corrupt
- it asked the DN holding the corrupt replica to delete it. And, I think, removed it from the block map at this time.
- That DN then did another block report before receiving the deletion. This caused it to be re-added to the block map, since it was "FINALIZED" now.
- Replication was lowered on the file, and it counted the above replica as non-corrupt, and asked for the other replicas to be deleted.
- All replicas were lost.