-
Type: Bug
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: None
-
Fully Compatible
-
ALL
-
Sharding 2020-07-27, Sharding 2020-08-10, Sharding 2020-08-24, Sharding 2020-09-21, Sharding 2020-10-05
new description
We've decided not to do what this ticket originally aimed to do. Remove TODO's for this ticket in the codebase.
old description
Passing an empty NamespaceString to OperationShardingState::initializeClientRoutingVersionsFromCommand() means the OperationShardingState cannot correctly store the shard/database version tied to the command.
service_entry_point_common execCommandDatabase calls oss.initializeClientRoutingVersionsFromCommand(invocation->ns(), request.body).
However, not all commands that go through this path are derived from InvocationBase - thus invocation->ns() yields an empty NamespaceString.
List of commands we found that pass an empty NamespaceString to OperationShardingState::initializeClientRoutingVersionsFromCommand() that aren't derived from InvocationBase:
Additionally, DropConnectionsCmd derives from InvocationBase but passes an empty NamespaceString to OperationShardingState::initializeClientRoutingVersionsFromCommand().
- is related to
-
SERVER-47532 ShardServerProcessInterface: Convert usage of getCollectionDescription_DEPRECATED to getCollectionDescription
- Closed
- related to
-
SERVER-31946 Doing a find by UUID with a shardVersion results in a StaleShardingError
- Backlog