Uploaded image for project: 'Debezium'
  1. Debezium
  2. DBZ-947

Snapshot isolation level overhaul

    XMLWordPrintable

    Details

      Description

      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.

        Gliffy Diagrams

          Attachments

            Issue Links

              Activity

                People

                • Assignee:
                  grzegorzk Grzegorz Kołakowski
                  Reporter:
                  grzegorzk Grzegorz Kołakowski
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  3 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved: