cursor-less unionWith subpipelines must version catalog access

XMLWordPrintableJSON

    • Type: Task
    • Resolution: Fixed
    • Priority: Major - P3
    • 9.0.0-rc0
    • Affects Version/s: None
    • Component/s: None
    • None
    • Catalog and Routing
    • Fully Compatible
    • CAR Team 2026-04-27
    • 200
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      The following query will consistently run versionless for the $unionWith sub-pipeline concerning $collstats against db.other.
      This causes the the shard role to invariant since any catalog access must come with version, even if user collections are not involved.
      Note that seem to only effect

      • $collStats
      • $listCatalog
        which mainly target metadata and statistics, not user data aggregation
        And the assertion is only present in tests, so this doesn't effect availability in production
      db.main.aggregate([
      { $match: {_id: -1}},
      {
         $unionWith: {
         coll: "other",
          pipeline: [{$collStats: {storageStats: {}, count: {}}}],
        },
       },
      ])
      

            Assignee:
            Enrico Golfieri
            Reporter:
            Enrico Golfieri
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated:
              Resolved: