-
Type: Bug
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: None
-
None
-
Fully Compatible
-
ALL
-
Execution EMEA Team 2023-07-10, Execution EMEA Team 2023-07-24, Execution EMEA Team 2023-08-07
-
114
During truncate marker initiailisation on a secondary, the PBWM lock is acquired in MODE_IS by default.
A deadlock can happen as follows:
- There is a large prepared transaction, the primary waits for the commit to be replicated
- The OplogApplier on the secondary tries to apply a new batch with the commit, but needs to acquire the PBWM lock in MODE_X
- The ChangeStreamExpiredPreImagesRemover initialisation acquired the PBWM lock in MODE_IS, but gets stuck waiting for the prepared transaction to commit or abort, but it can't because it needs the PBWM lock.
- is duplicated by
-
SERVER-78042 Truncates on change collections and pre-images collections may truncate inconsistent ranges
- Closed
- is related to
-
SERVER-78599 Prevent change collections from truncating inconsistent data
- Closed
-
SERVER-79234 Revisit allDurable and lastApplied check before truncation of pre-images
- Closed
- related to
-
SERVER-78042 Truncates on change collections and pre-images collections may truncate inconsistent ranges
- Closed