Details
Description
The contract for aborting an index build is that once the aborting thread acquires the RSTL, the collection X lock, and kills the builder thread, it must follow-through with the abort by writing an "abortIndexBuild" oplog entry. Otherwise, the index build is left unfinished on disk with no means of making progress.
In a special race, a step-down can interrupt the final write, after the RSTL has been acquired, causing the server to crash.
We should consider making this critical section resilient to being interrupted.
Attachments
Issue Links
- related to
-
SERVER-79176 Index build _completeExternalAbort should be resilient to interrupts
-
- Closed
-
-
SERVER-48524 Acquire config.system.indexBuilds lock earlier and with collection lock
-
- Closed
-