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

Transactions fail with TransactionTooLarge instead of generating multiple applyOps

    • Type: Icon: Bug Bug
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 6.0.0-rc0
    • Affects Version/s: None
    • Component/s: None
    • Labels:
      None
    • Fully Compatible
    • ALL
    • Hide
      db.c.insertMany([...Array(400000).keys()].map(x => ({_id: x})));
      const session = db.getMongo().startSession();
      const coll = session.getDatabase('test').c
      session.startTransaction();coll.deleteMany({_id: {$gte: 0}});
      session.commitTransaction();
      
      Show
      db.c.insertMany([...Array(400000).keys()].map(x => ({_id: x}))); const session = db.getMongo().startSession(); const coll = session.getDatabase('test').c session.startTransaction();coll.deleteMany({_id: {$gte: 0}}); session.commitTransaction();
    • QE 2022-04-04

      SERVER-62785 introduced a regression that fails transactions which would previously succeed and generate multiple applyOps entries. The regression can be reproduced deleting a large amount of small documents in a single transaction such that the committed operation would span across multiple applyOps.

            Assignee:
            mindaugas.malinauskas@mongodb.com Mindaugas Malinauskas
            Reporter:
            josef.ahmad@mongodb.com Josef Ahmad
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: