-
Enhancement
-
Resolution: Done
-
Major
-
None
The goal of the task is to extend snapshot locking modes list, so that wider range of scenarios is covered. Debezium user may decide about the tradeoff between consistency and the impact on other transactions.
Proposed levels:
- none - Minimised locking at the cost of snapshot consistency. Neither reads nor writes of other transactions are blocked. Limitation: DDLs mustn't be executed at the time.
- snapshot - the entire snapshot process runs in SNAPSHOT isolation level. Other transactions are not being blocked in any way. Limitation: DDLs mustn't be executed at the time.
- consistent (current none) - Guards against data changes.
- exclusive (current exclusive) - Guards against DDL and data changes.
Technical details
Mode none
Snapshot is run in read committed isolation level. In result neither table locks nor row-level locks are taken.
Mode snapshot
See details here: DBZ-941.
Mode consistent
Snapshot is run in repeatable read isolation level. No table locks are taken, even during schema snapshot. Row-level shared locks are taken during data snapshot, though.
Mode exclusive
Snapshot is run in repeatable read isolation level. Table exclusive locks are taken only during schema snapshot. Only row-level shared locks are taken during data snapshot.
- incorporates
-
DBZ-941 Initial snapshot using snapshot isolation level
- Closed