Places where onStaleShardVersion is currently called:
- mongos_process_interface.cpp
- version_manager.cpp – no exception, but shard ID
- cluster_map_reduce.cpp – no exception, but shard ID
- cluster_merge_chunks_cmd.cpp – no exception, but shard ID
- cluster_split_cmd.cpp – no exception, but shard ID
- cluster_move_chunk_cmd.cpp – no exception, but shard ID
- cluster_split_cmd.cpp – no exception, but shard ID
- cluster_find.cpp – exception available
- chunk_manager_targeter.cpp – exception available, but need to pipe through to level of onStaleShardVersion
Places where invalidateShardedCollection is currently called that should be changed to onStaleShardVersion:
- strategy.cpp::runCommand – exception is available
- parallel.cpp – exception is available
- strategy.cpp::explainFind – exception is available
Places where invalidateShardedCollection is currently called that should be changed to onEpochChange:
- configsvr_drop_collection_command.cpp – we are changing the epoch
- cluster_drop_cmd.cpp – nothing available, but we're changing the epoch... hmm
- cluster_map_reduce.cpp – nothing, but we're changing the epoch
- cluster_shard_collection.cpp – nothing, but we're changing the epoch
- version_manager.cpp
Places where invalidateShardedCollection is currently called that should be changed to forceWaitOnRefresh:
- catalog_cache.cpp::getCollectionRoutingInfoWithRefresh
- catalog_cache.cpp::getShardedCollectionRoutingInfoWithRefresh