[ 
https://issues.apache.org/jira/browse/HIVE-21974?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

mahesh kumar behera updated HIVE-21974:
---------------------------------------
    Description: Java regex expression does not support comma. If user wants 
multiple expression to be present in the include or exclude list, then the 
expressions can be provided separated by pipe ('|') character. The policy will 
look something like db_name.'(t1*)|(t3)'.'t100'  (was: REPL DUMP fetches the 
events from NOTIFICATION_LOG table based on regular expression + 
inclusion/exclusion list. So, in case of rename table event, the event will be 
ignored if old table doesn't match the pattern but the new table should be 
bootstrapped. REPL DUMP should have a mechanism to detect such tables and 
automatically bootstrap with incremental replication.Also, if renamed table is 
excluded from replication policy, then need to drop the old table at target as 
well. 

There are 4 scenarios that needs to be handled.
 # Both new name and old name satisfies the table name pattern filter.
 ## No need to do anything. The incremental event for rename should take care 
of the replication.
 # Both the names does not satisfy the table name pattern filter.
 ## Both the names are not in the scope of the policy and thus nothing needs to 
be done.
 # New name satisfies the pattern but the old name does not.
 ## The table will not be present at the target.
 ## Rename event handler for dump should detect this case and add the new table 
name to the list of table for bootstrap.
 ## All the events related to the table (new name) should be ignored.
 ## If there is a drop event for the table (with new name), then remove the 
table from the list of tables to be bootstrapped.
 ## In case of rename (double rename)
 ### If the new name satisfies the table pattern, then add the new name to the 
list of tables to be bootstrapped and remove the old name from the list of 
tables to be bootstrapped.
 ### If the new name does not satisfies then just removed the table name from 
the list of tables to be bootstrapped.
 # New name does not satisfies the pattern but the old name satisfies.
 ## Change the rename event to a drop event.)

> The list of table expression in the inclusion and exclusion list should be 
> separated by '|' instead of comma.
> -------------------------------------------------------------------------------------------------------------
>
>                 Key: HIVE-21974
>                 URL: https://issues.apache.org/jira/browse/HIVE-21974
>             Project: Hive
>          Issue Type: Sub-task
>          Components: repl
>            Reporter: mahesh kumar behera
>            Assignee: mahesh kumar behera
>            Priority: Major
>              Labels: DR, Replication, pull-request-available
>
> Java regex expression does not support comma. If user wants multiple 
> expression to be present in the include or exclude list, then the expressions 
> can be provided separated by pipe ('|') character. The policy will look 
> something like db_name.'(t1*)|(t3)'.'t100'



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to