Remove legacy viewful timeseries ShardVersion workarounds once 9.0 is last LTS

XMLWordPrintableJSON

    • Type: Task
    • Resolution: Unresolved
    • Priority: Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • None
    • Catalog and Routing
    • CAR Team 2026-01-19, CAR Team 2026-02-02, CAR Team 2026-02-16, CAR Team 2026-03-02, CAR Team 2026-03-16, CAR Team 2026-03-30
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      Once 9.0 becomes last LTS and all timeseries collections are guaranteed to be viewless, we can remove the ShardVersion workarounds that handle legacy viewful timeseries namespace translation.

      As concluded in SERVER-80719, the current workaround logic is correct but exists solely to support legacy viewful timeseries. These workarounds should be removed once we no longer need to handle them.

      Workarounds to remove

      1. Service entry point fake ShardVersion on system.buckets: For legacy viewful timeseries, the service entry point installs a ShardVersion on the system.buckets namespace to enforce that both router and shard agree the collection is untracked. The same pattern exists in bulkWrite. (Previously tracked by SERVER-117124)
      2. Timeseries exception in namespace validation: skipNssValidation for bucket collections in OperationShardingState.
      3. Bypass placement version check for timeseries buckets: Early return for timeseries bucket collections that skips the placement version declaration check.
      4. Fallback ShardVersion lookup from bucket namespace: In ResolvedViewAggExState::setShardRole, falls back to getting the ShardVersion from the bucket namespace when the view namespace has none.

            Assignee:
            Unassigned
            Reporter:
            xgen-buildbaron-user
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: