We commit an index build inside of a writeConflictRetry loop. As a part of this process, one of the sources of multikey is the interceptor for writes that came in while the index build was already in progress. However, we also unset the interceptor before inserting the commitIndexBuild oplog entry. This means that if inserting the oplog entry gets a write conflict, we'll restart this process but the interceptor will have already been unset. Thus, we will fail to set multikey.
- related to
-
SERVER-77082 Data race while setting index build interceptor on empty coll optimization path
- Closed