-
Type:
Bug
-
Status: Closed
-
Priority:
Major - P3
-
Resolution: Fixed
-
Affects Version/s: 4.2.1, 4.3.1
-
Fix Version/s: 4.7.0
-
Component/s: Replication, Storage
-
Labels:None
-
Backwards Compatibility:Minor Change
-
Operating System:ALL
-
Steps To Reproduce:
-
Sprint:Repl 2019-12-02, Repl 2019-12-16, Repl 2019-12-30, Repl 2020-01-13, Repl 2020-03-09, Repl 2020-03-23, Repl 2020-04-06, Repl 2020-04-20
-
Linked BF Score:14
Trying to run the 'reIndex' command on a secondary while having unfinished prepared transactions will hit an invariant. After dropping the index that will be re-indexed, we hit an invariant when doing a collection scan to insert all the documents in the collection for that index.
Invariant failure lock.mode != MODE_S && lock.mode != MODE_X {6917529027641081857: Global, 1} in X src/mongo/db/storage/wiredtiger/wiredtiger_prepare_conflict.h 111 |
[~ldeng] recommended to try set the 'canIgnorePrepareConflicts' flag to true for the 'reIndex' command but that ended up hitting another invariant while trying to drop all the indexes.
WiredTiger error (95) [1572545292:296845][8488:0x7f381342b700], file:_mdb_catalog.wt, WT_CURSOR.insert: __wt_txn_modify, 463: Transactions with ignore_prepare=true cannot perform updates: Operation not supported Raw: [1572545292:296845][8488:0x7f381342b700], file:_mdb_catalog.wt, WT_CURSOR.insert: __wt_txn_modify, 463: Transactions with ignore_prepare=true cannot perform updates: Operation not supported |
|
Invariant failure: ret resulted in status UnknownError: 95: Operation not supported at src/mongo/db/storage/wiredtiger/wiredtiger_record_store.cpp 1442 |
We should consider disallowing the 'reIndex' command from running on secondaries and removing it in a future release.
- is documented by
-
DOCS-13581 Investigate changes in SERVER-44343: Make 'reIndex' a standalone-only command
-
- Resolved
-
- is related to
-
SERVER-47427 Check for standalone-only commands when checking if a command can be run on a secondary
-
- Closed
-
- related to
-
SERVER-44026 Remove global X lock for reIndex
-
- Closed
-