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.

      Attachments

        Issue Links

          Activity

            People

              grzegorz.kolakowski Grzegorz Kołakowski (Inactive)
              grzegorz.kolakowski Grzegorz Kołakowski (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: