[SERVER-48197] index build fails on an invariant reading commit quorum from config.system.indexBuilds Created: 13/May/20  Updated: 29/Oct/23  Resolved: 14/May/20

Status: Closed
Project: Core Server
Component/s: Storage
Affects Version/s: None
Fix Version/s: 4.4.0-rc7, 4.7.0

Type: Bug Priority: Major - P3
Reporter: Benety Goh Assignee: Benety Goh
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Backports
Depends
Related
related to SERVER-48238 [4.4] index_abort_before_commit_signa... Closed
related to SERVER-48407 createIndexes command in fsm_workload... Closed
related to SERVER-48588 createIndexes command in fsm_workload... Closed
Backwards Compatibility: Fully Compatible
Operating System: ALL
Backport Requested:
v4.4
Sprint: Execution Team 2020-05-18
Participants:
Linked BF Score: 50

 Description   

An aborted index build may fail on an invariant if the index build is interrupted after acquiring the locks to read the commit quorum.

This may happen when the collection/index is dropped (which aborts in-progress index builds) during the _signalPrimaryForCommitReadiness() index build stage.



 Comments   
Comment by Githook User [ 15/May/20 ]

Author:

{'name': 'Benety Goh', 'email': 'benety@mongodb.com', 'username': 'benety'}

Message: SERVER-48197 IndexBuildsCoordinatorMongod::_signalIfCommitQuorumNotEnabled() fails (rather than invariants) if commit quorum is missing due to abort

(cherry picked from commit d8fe20ae9899128123c38927cb53132af554745e)
Branch: v4.4
https://github.com/mongodb/mongo/commit/6066b0d2d1a82a2e9dfcc0bf10ca6e3139f2713d

Comment by Githook User [ 15/May/20 ]

Author:

{'name': 'Benety Goh', 'email': 'benety@mongodb.com', 'username': 'benety'}

Message: SERVER-48197 add js test for aborting an index build as it retrieves the commit quorum for the final stage

(cherry picked from commit 71be499420555486372e985aa3ae8ffe0b969646)
Branch: v4.4
https://github.com/mongodb/mongo/commit/7ec79ae1833204fb7652385e4d033cafd386c90d

Comment by Githook User [ 14/May/20 ]

Author:

{'name': 'Benety Goh', 'email': 'benety@mongodb.com', 'username': 'benety'}

Message: SERVER-48197 add fail point to indexbuildentryhelpers::getIndexBuildEntry()

(cherry picked from commit ac93489304b13a7349b303f3f0e5c57210037dbb)
Branch: v4.4
https://github.com/mongodb/mongo/commit/3e8707333f3a618241e474e8444e87eed0c9aa29

Comment by Githook User [ 14/May/20 ]

Author:

{'name': 'Benety Goh', 'email': 'benety@mongodb.com', 'username': 'benety'}

Message: SERVER-48197 IndexBuildsCoordinatorMongod::_signalIfCommitQuorumNotEnabled() fails (rather than invariants) if commit quorum is missing due to abort
Branch: master
https://github.com/mongodb/mongo/commit/d8fe20ae9899128123c38927cb53132af554745e

Comment by Benety Goh [ 14/May/20 ]

Author:

{'name': 'Benety Goh', 'email': 'benety@mongodb.com', 'username': 'benety'}

Message: SERVER-48197 add js test for aborting an index build as it retrieves the commit quorum for the final stage
Branch: master
https://github.com/mongodb/mongo/commit/71be499420555486372e985aa3ae8ffe0b969646

Comment by Githook User [ 14/May/20 ]

Author:

{'name': 'Benety Goh', 'email': 'benety@mongodb.com', 'username': 'benety'}

Message: SERVER-48197 add fail point to indexbuildentryhelpers::getIndexBuildEntry()
Branch: master
https://github.com/mongodb/mongo/commit/ac93489304b13a7349b303f3f0e5c57210037dbb

Generated at Thu Feb 08 05:16:25 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.