[
https://issues.apache.org/jira/browse/HIVE-19267?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
mahesh kumar behera updated HIVE-19267:
---------------------------------------
Description:
h1. Replicate ACID write Events
* Create new EVENT_WRITE event with related message format to log the write
operations with in a txn along with data associated.
* Log this event when perform any writes (insert into, insert overwrite, load
table, delete, update, merge, truncate) on table/partition.
* If a single MERGE/UPDATE/INSERT/DELETE statement operates on multiple
partitions, then need to log one event per partition.
* DbNotificationListener should log this type of event to special metastore
table named "MTxnWriteNotificationLog".
* This table should maintain a map of txn ID against list of tables/partitions
written by given txn.
* The entry for a given txn should be removed by the cleaner thread that
removes the expired events from EventNotificationTable.
h1. Replicate Commit Txn operation (with writes)
Add new EVENT_COMMIT_TXN to log the metadata/data of all tables/partitions
modified within the txn.
*Source warehouse:*
* This event should read the EVENT_WRITEs from "MTxnWriteNotificationLog"
metastore table to consolidate the list of tables/partitions modified within
this txn scope.
* Based on the list of tables/partitions modified and table Write ID, need to
compute the list of delta files added by this txn.
* Repl dump should read this message and dump the metadata and delta files
list.
*Target warehouse:*
* Ensure snapshot isolation at target for on-going read txns which shouldn't
view the data replicated from committed txn. (Ensured with open and allocate
write ID events).
was:
*EVENT_ALLOCATE_WRITE_ID*
*Source Warehouse:*
* Create new event type EVENT_ALLOCATE_WRITE_ID with related message format
etc.
* Capture this event when allocate a table write ID from the sequence table by
ACID operation.
* Repl dump should read this event from EventNotificationTable and dump the
message.
*Target Warehouse:*
* Repl load should read the event from the dump and get the message.
* Validate if source txn ID from the event is there in the source-target txn
ID map. If not there, just noop the event.
* If valid, then Allocate table write ID from sequence table
*Extend listener notify event API to add two new parameter , dbconn and
sqlgenerator to add the events to notification_log table within the same
transaction*
> Create/Replicate ACID Write event
> ---------------------------------
>
> Key: HIVE-19267
> URL: https://issues.apache.org/jira/browse/HIVE-19267
> Project: Hive
> Issue Type: Sub-task
> Components: repl, Transactions
> Affects Versions: 3.0.0
> Reporter: mahesh kumar behera
> Assignee: mahesh kumar behera
> Priority: Major
> Labels: ACID, DR, replication
> Fix For: 3.0.0
>
>
>
> h1. Replicate ACID write Events
> * Create new EVENT_WRITE event with related message format to log the write
> operations with in a txn along with data associated.
> * Log this event when perform any writes (insert into, insert overwrite,
> load table, delete, update, merge, truncate) on table/partition.
> * If a single MERGE/UPDATE/INSERT/DELETE statement operates on multiple
> partitions, then need to log one event per partition.
> * DbNotificationListener should log this type of event to special metastore
> table named "MTxnWriteNotificationLog".
> * This table should maintain a map of txn ID against list of
> tables/partitions written by given txn.
> * The entry for a given txn should be removed by the cleaner thread that
> removes the expired events from EventNotificationTable.
> h1. Replicate Commit Txn operation (with writes)
> Add new EVENT_COMMIT_TXN to log the metadata/data of all tables/partitions
> modified within the txn.
> *Source warehouse:*
> * This event should read the EVENT_WRITEs from "MTxnWriteNotificationLog"
> metastore table to consolidate the list of tables/partitions modified within
> this txn scope.
> * Based on the list of tables/partitions modified and table Write ID, need
> to compute the list of delta files added by this txn.
> * Repl dump should read this message and dump the metadata and delta files
> list.
> *Target warehouse:*
> * Ensure snapshot isolation at target for on-going read txns which shouldn't
> view the data replicated from committed txn. (Ensured with open and allocate
> write ID events).
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)