When we run a createIndexes command, we will look up the UUID of the specified collection under a lock here. We release this lock, however, and later on we will look up the namespace for the collection here, which is the namespace we use later on in the index creation operation. It is possible that a 'drop' command has been called during the time we released our locks, and it could have renamed the collection to a "drop pending" namespace, if we are still using the old two phase collection drop implementation (used when EMRC=false). When we look up the namespace, we will then be looking up the drop pending namespace. It seems that we shouldn't allow a collection drop to interleave with a createIndexes command like this.
- is depended on by
-
SERVER-43692 enable two phase index builds by default
- Closed
- is related to
-
SERVER-32567 Replace queryoptimizer3.js with FSM test
- Closed