-
Type: Bug
-
Resolution: Fixed
-
Priority: Minor - P4
-
Affects Version/s: 3.6.0-rc4
-
Component/s: Replication
-
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