-
Type:
Improvement
-
Resolution: Unresolved
-
Priority:
Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
-
None
-
Catalog and Routing
-
None
-
3
-
None
-
None
-
None
-
None
-
None
-
None
Currently, shards have some logic which executes based on whether a request has originated from a router. To determine this, we typically use OperationShardingState::isComingFromRouter, which inspects if the OperationShardingState has DatabaseVersion or ShardVersion installed.
One shortcoming of this is that routers are not able to express a request originates from a router if it is not shardVersioned – this is the case for $mergeCursors, see SERVER-81344. Another shortcoming is that it relies on routers having expressed a shardVersion; this makes this mechanism not useful for detecting (incorrect) situations where a router might not be doing so.
This ticket is to consider creating a more explicit signaling method for routers to signal that a request originated from a router or routing operation.
- is depended on by
-
SERVER-81344 Review usage of ShardVersion::IGNORED in $mergeCursor request
-
- Backlog
-