[SERVER-44026] Remove global X lock for reIndex Created: 15/Oct/19  Updated: 29/Oct/23  Resolved: 01/Nov/19

Status: Closed
Project: Core Server
Component/s: Index Maintenance
Affects Version/s: None
Fix Version/s: 4.3.1, 4.2.2

Type: Task Priority: Major - P3
Reporter: Lingzhi Deng Assignee: Gregory Wlodarek
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Backports
Documented
is documented by DOCS-13191 Investigate changes in SERVER-44026: ... Closed
Issue split
split from SERVER-43242 Deadlock involving commands acquiring... Closed
Related
related to SERVER-35569 reIndex should take a Global exclusiv... Closed
is related to SERVER-44343 Make 'reIndex' a standalone-only command Closed
Backwards Compatibility: Fully Compatible
Backport Requested:
v4.2
Sprint: Execution Team 2019-11-04
Participants:

 Description   

Remove global X lock acquisition for reIndex. This is because acquiring global lock in X mode can be blocked by prepared transactions. The enqueued global X lock can block oplog queries which need the global IS lock. If these oplog queries and the data replication are needed to satisfy the prepared transaction's write concern, then the prepare transaction and replication cannot make progress. Thus a deadlock occurs.

Alternatively, if removing global X lock is not an option, deprecate the command or make sure it won't be blocked on prepare transactions.



 Comments   
Comment by Githook User [ 18/Nov/19 ]

Author:

{'username': 'GWlodarek', 'email': 'gregory.wlodarek@mongodb.com', 'name': 'Gregory Wlodarek'}

Message: SERVER-44026 Remove global X lock for reIndex

(cherry picked from commit 384292b85cbf344602b377a81821d7b1924b978e)
Branch: v4.2
https://github.com/mongodb/mongo/commit/38f2881335ab6052c24cfc4270529363e7cc2816

Comment by Githook User [ 01/Nov/19 ]

Author:

{'username': 'GWlodarek', 'email': 'gregory.wlodarek@mongodb.com', 'name': 'Gregory Wlodarek'}

Message: SERVER-44026 Remove global X lock for reIndex
Branch: master
https://github.com/mongodb/mongo/commit/384292b85cbf344602b377a81821d7b1924b978e

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