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

Reply via email to