Improve signaling method to flag requests to shards originating from sharding routers

XMLWordPrintableJSON

    • 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.

            Assignee:
            Unassigned
            Reporter:
            Jordi Serra Torrens
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated: