[SERVER-44029] Remove global X lock for replSetResizeOplog Created: 15/Oct/19  Updated: 29/Oct/23  Resolved: 23/Oct/19

Status: Closed
Project: Core Server
Component/s: None
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: neweng
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Backports
Documented
is documented by DOCS-13166 Investigate changes in SERVER-44029: ... Closed
Issue split
split from SERVER-43242 Deadlock involving commands acquiring... Closed
Related
is related to SERVER-22766 Dynamic oplog sizing for WiredTiger n... Closed
Backwards Compatibility: Fully Compatible
Backport Requested:
v4.2
Sprint: Execution Team 2019-11-04
Participants:

 Description   

Remove global X lock acquisition for replSetResizeOplog. 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-44029 Remove global X lock for replSetResizeOplog

(cherry picked from commit bef6efd538f36ad3f524a6bca3172111c619450b)
Branch: v4.2
https://github.com/mongodb/mongo/commit/dcdb2b7409f23b9167d0e5fd918113972480a8af

Comment by Githook User [ 23/Oct/19 ]

Author:

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

Message: SERVER-44029 Remove global X lock for replSetResizeOplog
Branch: master
https://github.com/mongodb/mongo/commit/bef6efd538f36ad3f524a6bca3172111c619450b

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