Details
-
Sub-task
-
Status: Closed
-
Major
-
Resolution: Fixed
-
3.0.0
Description
Bootstrapping of ACID tables, need special handling to replicate a stable state of data.
- If ACID feature enables, then perform bootstrap dump for ACID tables with in read txn.
-> Dump table/partition metadata.
-> Get the list of valid data files for a table using same logic as read txn do.
-> Dump latest ValidWriteIdList as per current read txn. - Set the valid last replication state such that it doesn't miss any open txn started after triggering bootstrap dump.
- If any txns on-going which was opened before triggering bootstrap dump, then it is not guaranteed that if open_txn event captured for these txns. Also, if these txns are opened for streaming ingest case, then dumped ACID table data may include data of open txns which impact snapshot isolation at target. To avoid that, bootstrap dump should wait for timeout (new configuration: hive.repl.bootstrap.dump.open.txn.timeout). After timeout, just force abort those txns and continue.
- If any txns force aborted belongs to a streaming ingest case, then dumped ACID table data may have aborted data too. So, it is necessary to replicate the aborted write ids to target to mark those data invalid for any readers.
Attachments
Attachments
Issue Links
- links to