-
Type: Bug
-
Resolution: Done
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: Index Maintenance, Replication
-
None
-
Storage Execution
-
Fully Compatible
-
ALL
-
v3.6, v3.4
-
Storage 2017-12-04
-
(copied to CRM)
-
0
Currently listIndexes includes in-progress background indexes that haven't been committed yet. This can theoretically (I haven't tested it) lead to an inconsistency in initial sync in the following scenario:
- Start bg index on primary
- Start initial sync
- Initial sync runs listIndexes and builds all returned indexes
- Initial sync finishes with the bg index
- Kill the bg index build on primary (or have it fail due to a recent insert)
I think after these steps, the secondary will have an index that the primary doesn't.
- causes
-
SERVER-39723 Change listIndexes command behavior to show in-progress index builds
- Closed
- is depended on by
-
SERVER-39719 Ensure that a node performing an initial sync from a secondary with a in-progress index build creates the index before initial sync is done
- Closed
- is duplicated by
-
SERVER-34970 Consider indicating that an index build is still in progress with .getIndexes()
- Closed
- related to
-
SERVER-30224 Need completion flag field in db.coll.getIndexes() output.
- Closed
-
SERVER-37721 Add a command argument to listIndexes to optionally include in-progress index builds
- Closed
-
SERVER-25176 Provide a way to list actively building indexes
- Closed