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

Rollback can abort on long collection names.

    • Type: Icon: Bug Bug
    • Resolution: Fixed
    • Priority: Icon: Minor - P4 Minor - P4
    • 3.6.1, 3.7.1
    • Affects Version/s: 3.6.0-rc4
    • Component/s: Replication
    • Labels:
    • Fully Compatible
    • ALL
    • v3.6
    • Repl 2018-01-01
    • 0

      Here's a sequence of operations that seems to cause rollback to abort:
      1. Create a collection with a long name; (long = 64 or so characters)
      2. Rename it to one with a shorter name;
      3. Create an index with a long name.

      Rollback seems to do the rename without dropping indexes, causing the rename back to the long name to fail when the index is present.

      2017-11-15T19:53:32.521+0000 I ROLLBACK [rsBackgroundSync] Attempting to rename collection with UUID: ec2f6bdc-d71b-410c-a294-62556ad94185, from: db_1.system.drop.1510775596i24t10.two, to: db_1.verylongnamespaceverylongnamespaceverylongnamespaceverylongnamespaceverylongnamespaceverylongnamespaceverylongnam
      2017-11-15T19:53:32.521+0000 F ROLLBACK [rsBackgroundSync] Unable to roll back renameCollection command: InvalidLength: collection name length of 118 exceeds maximum length of 116, allowing for index names
      2017-11-15T19:53:32.521+0000 I ROLLBACK [rsBackgroundSync] Rollback finished. The final minValid is: { ts: Timestamp 1510775610000|106, t: 11 }
      2017-11-15T19:53:32.522+0000 F ROLLBACK [rsBackgroundSync] Unable to complete rollback. A full resync may be needed: UnrecoverableRollbackError: Unable to rollback renameCollection command
      2017-11-15T19:53:32.522+0000 F -        [rsBackgroundSync] Fatal Assertion 40507 at src/mongo/db/repl/rs_rollback.cpp 1475
      2017-11-15T19:53:32.522+0000 F -        [rsBackgroundSync]
      ***aborting after fassert() failure

            judah.schvimer@mongodb.com Judah Schvimer
            robert.guo@mongodb.com Robert Guo (Inactive)
            0 Vote for this issue
            5 Start watching this issue