[SERVER-80670] call JournalListener::onDurable outside mutex in WiredTigerSessionCache::waitUntilDurable Created: 31/Aug/23  Updated: 29/Oct/23  Resolved: 12/Sep/23

Status: Closed
Project: Core Server
Component/s: None
Affects Version/s: None
Fix Version/s: 7.2.0-rc0

Type: Improvement 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:
Related
is related to SERVER-80432 waitForSession can miss JournalListen... Closed
Assigned Teams:
Storage Execution
Backwards Compatibility: Fully Compatible
Sprint: Execution NAMR Team 2023-09-18
Participants:

 Description   

In WiredTigerSessionCache::waitUntilDurable(), we are still holding the _lastSyncMutex when we notify the JournalFlusher::onDurable() callback. Since the replication subsystem also implements the JournalListener interface, this may create unnecessary synchronization between the storage and replication subsystems.



 Comments   
Comment by Githook User [ 07/Sep/23 ]

Author:

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

Message: SERVER-80670 WiredTigerSessionCache::waitUntilDurable() notifies JournalListener outside critical section
Branch: master
https://github.com/mongodb/mongo/commit/46bed3fa7ea77533eb06d2d5b8d8d9c8146bfe35

Comment by Githook User [ 07/Sep/23 ]

Author:

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

Message: SERVER-80670 re-order session timer and JournalLister::onDurable calls in WiredTigerSessionCache::waitUntilDurable()
Branch: master
https://github.com/mongodb/mongo/commit/84515734e78c8166ad8eaf9df5618637771c6bf0

Generated at Thu Feb 08 06:44:14 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.