Feature Work
This will be in the format <ShardId, pair<atomic bool, ChunkVersion>>, where the bool indicates whether we’ve received StaleShardVersion (SSV) from this particular shard. When a router receives SSV for a shard, it will flip the atomic boolean to true. We don’t need to worry about setting false, because when the routing table needs to be updated, it gets created from scratch. We will keep the old ShardVersionMap for now — the new ShardVersionMap will be fully functional but we will not use it in connection with other pieces yet.
Testing Work
Create unit tests to verify that receiving SSV will appropriately modify the new ShardVersionMap
|