-
Type:
Bug
-
Resolution: Gone away
-
Priority:
Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
-
None
-
Storage Execution
-
ALL
-
Execution Team 2025-02-17, Storage Execution 2025-03-03, Storage Execution 2025-03-17
-
200
-
None
-
None
-
None
-
None
-
None
-
None
-
None
SERVER-98989 changed how StorageEngineImpl::TimestampMonitor listeners are supposed to synchronize with storage engine rollback. Before SERVER-98989 the listeners used the Global Lock, which is an indirect dependency from the storage engine into the catalog that we don't like.
We now stop the monitor before rollback and restart the monitor afterwards, so that the listeners wouldn't run concurrently with rollback. To stop the monitor, we first try to acquire _monitorMutex before making a copy of the registered listeners, and if the listener runs concurrently and attempts to acquire GlobalLock, there could be deadlocks.
- is related to
-
SERVER-98989 Remove storage_engine_impl's dependency on catalog
-
- Closed
-