[ 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)