[SERVER-45953] Exempt oplog readers from acquiring read tickets Created: 04/Feb/20  Updated: 29/Oct/23  Resolved: 03/Jun/20

Status: Closed
Project: Core Server
Component/s: Storage
Affects Version/s: None
Fix Version/s: 4.7.0, 4.4.11, 4.2.18, 4.0.28

Type: Bug Priority: Major - P3
Reporter: Eric Milkie Assignee: Dianna Hohensee (Inactive)
Resolution: Fixed Votes: 1
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Backports
Depends
is depended on by SERVER-45845 TransactionCoordinator stepUp can dea... Closed
Duplicate
is duplicated by SERVER-45845 TransactionCoordinator stepUp can dea... Closed
is duplicated by SERVER-59641 Oplog fetching should not obtain read... Closed
Related
is related to SERVER-44711 Add statistics metrics.repl.network.o... Closed
Backwards Compatibility: Fully Compatible
Backport Requested:
v4.4, v4.2, v4.0
Sprint: Execution Team 2020-05-18, Execution Team 2020-06-01, Execution Team 2020-06-15
Participants:
Case:

 Description   

There are certain operations on the system that depend on the ability to replicate oplog entries in order to make progress. Today, secondaries reading the oplog on their sync sources can be blocked by read ticket exhaustion, potentially creating deadlocks. In order to break this deadlock situation, we can exempt oplog read queries from needing to acquire read tickets.
One good way to determine if a reader is an oplog reader from a downstream node is to use the isReplOplogFetching flag.



 Comments   
Comment by Githook User [ 04/Jan/22 ]

Author:

{'name': 'Dianna Hohensee', 'email': 'dianna.hohensee@mongodb.com', 'username': 'DiannaHohensee'}

Message: SERVER-45953 Exempt internal replication oplog readers from acquiring read tickets in order to avoid deadlocks

(cherry picked from commit d1cb83d9199c1a25158d74e47b3aa88b5c33fe8b)
Branch: v4.0
https://github.com/mongodb/mongo/commit/af1a9dc12adcfa83cc19571cb3faba26eeddac92

Comment by Githook User [ 02/Dec/21 ]

Author:

{'name': 'Dianna Hohensee', 'email': 'dianna.hohensee@mongodb.com', 'username': 'DiannaHohensee'}

Message: SERVER-45953 Exempt internal replication oplog readers from acquiring read tickets in order to avoid deadlocks

(cherry picked from commit d1cb83d9199c1a25158d74e47b3aa88b5c33fe8b)

Conflicts:
src/mongo/db/commands/getmore_cmd.cpp
Branch: v4.2
https://github.com/mongodb/mongo/commit/1151e6fec016a7abed435b8a9c81cc9a00aea980

Comment by Githook User [ 13/Nov/21 ]

Author:

{'name': 'Dianna Hohensee', 'email': 'dianna.hohensee@mongodb.com', 'username': 'DiannaHohensee'}

Message: SERVER-45953 Exempt internal replication oplog readers from acquiring read tickets in order to avoid deadlocks

(cherry picked from commit d1cb83d9199c1a25158d74e47b3aa88b5c33fe8b)
Branch: v4.4
https://github.com/mongodb/mongo/commit/d43191ce6f7f9caa641df374e6d55e6e64073f54

Comment by Githook User [ 03/Jun/20 ]

Author:

{'name': 'Dianna Hohensee', 'email': 'dianna.hohensee@mongodb.com', 'username': 'DiannaHohensee'}

Message: SERVER-45953 Exempt internal replication oplog readers from acquiring read tickets in order to avoid deadlocks
Branch: master
https://github.com/mongodb/mongo/commit/d1cb83d9199c1a25158d74e47b3aa88b5c33fe8b

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