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

XMLWordPrintableJSON

    • Type: Bug
    • Resolution: Unresolved
    • Priority: Major - P3
    • None
    • Affects Version/s: 8.3.0-rc0
    • Component/s: None
    • None
    • Catalog and Routing
    • ALL
    • CAR Team 2025-08-18, CAR Team 2025-09-01
    • None
    • 3
    • TBD
    • 🟩 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:
              2 Start watching this issue

                Created:
                Updated: