Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-88392

recordIdsReplicated:true collections can trigger dassert

    • Type: Icon: Bug Bug
    • Resolution: Gone away
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • Labels:
      None
    • Storage Execution
    • ALL

      This dassert that enforces that recordIds are strictly increasing seems like it can be triggered by clustered collections.

      Not sure how that hasn't happened already, and if it's impossible to be triggered, why is that the case?

      Edit: see comments for why it's not possible on clustered collections.

      We still need to fix this for replicated recordIds. Easy way to reproduce this bug:

      db.runCommand({create: "newcoll", recordIdsReplicated: true});
      let ops = [];
      for (let i = 0; i < 100; i++) {
          ops.push({
              op: 'i',
              ns: "test.newcoll",
              o: {
                  _id: i - 1000,
              },
              o2: {
                  _id: i - 1000,
              },
              rid: 100 - i
          });
      }
      db.runCommand({
          applyOps: ops
      });
      

      The secondary will crash on the dassert.

            Assignee:
            backlog-server-execution [DO NOT USE] Backlog - Storage Execution Team
            Reporter:
            vishnu.kaushik@mongodb.com Vishnu Kaushik
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: