findAndModify on non-tracked system.buckets collection on a sharded cluster triggers tripwire assert

XMLWordPrintableJSON

    • Catalog and Routing
    • Fully Compatible
    • ALL
    • CAR Team 2025-08-18, CAR Team 2025-09-01
    • 🟩 Routing and Topology
    • None
    • None
    • None
    • None
    • None
    • None

      Running the following command:

      db.system.buckets.ts.findAndModify({query: {x: false}, update: {$set: {x: true}}});

       

      On a v8.3 sharded cluster where "ts" is a non-existing or non-tracked legacy timeseries collection, triggers a tripwire assertion:

      findAndModifyFailed failed: {
          "ok" : 0,  
          "errmsg" : "Expected routing table to be initialized",
          "code" : 9949201,
          "codeName" : "Location9949201",
          [...]

       

      The issue is that the new uassert introduced by SERVER-106730 may call ChunkManager::isNewTimeseriesWithoutView without having a routing table. This usage triggers a tripwire assertion since the router doesn't have enough information to know the kind of collection is at that namespace.

            Assignee:
            Joan Bruguera Micó
            Reporter:
            Joan Bruguera Micó
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: