[ 
https://issues.apache.org/jira/browse/HIVE-20264?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16574537#comment-16574537
 ] 

Hive QA commented on HIVE-20264:
--------------------------------



Here are the results of testing the latest attachment:
https://issues.apache.org/jira/secure/attachment/12934913/HIVE-20264.02.patch

{color:green}SUCCESS:{color} +1 due to 2 test(s) being added or modified.

{color:red}ERROR:{color} -1 due to 1 failed/errored test(s), 14873 tests 
executed
*Failed tests:*
{noformat}
org.apache.hive.jdbc.TestJdbcDriver2.testSelectExecAsync2 (batchId=251)
{noformat}

Test results: 
https://builds.apache.org/job/PreCommit-HIVE-Build/13119/testReport
Console output: https://builds.apache.org/job/PreCommit-HIVE-Build/13119/console
Test logs: http://104.198.109.242/logs/PreCommit-HIVE-Build-13119/

Messages:
{noformat}
Executing org.apache.hive.ptest.execution.TestCheckPhase
Executing org.apache.hive.ptest.execution.PrepPhase
Executing org.apache.hive.ptest.execution.YetusPhase
Executing org.apache.hive.ptest.execution.ExecutionPhase
Executing org.apache.hive.ptest.execution.ReportingPhase
Tests exited with: TestsFailedException: 1 tests failed
{noformat}

This message is automatically generated.

ATTACHMENT ID: 12934913 - PreCommit-HIVE-Build

> Bootstrap repl dump with concurrent write and drop of ACID table makes target 
> inconsistent.
> -------------------------------------------------------------------------------------------
>
>                 Key: HIVE-20264
>                 URL: https://issues.apache.org/jira/browse/HIVE-20264
>             Project: Hive
>          Issue Type: Sub-task
>          Components: HiveServer2, repl
>    Affects Versions: 4.0.0, 3.2.0
>            Reporter: Sankar Hariappan
>            Assignee: Sankar Hariappan
>            Priority: Major
>              Labels: DR, pull-request-available, replication
>         Attachments: HIVE-20264.01.patch, HIVE-20264.02.patch
>
>
> During bootstrap dump of ACID tables, let's consider the below sequence.
>  - Get lastReplId = last event ID logged.
>  - Current session (Thread-1), REPL DUMP -> Open txn (Txn1) - Event-10
>  - Another session (Thread-2), Open txn (Txn2) - Event-11
>  - Thread-2 -> Insert data (T1.D1) to ACID table. - Event-12
>  - Thread-2 -> Commit Txn (Txn2) - Event-13
>  - Thread-2 -> Drop table (T1) - Event-14
>  - Thread-1 -> Dump ACID tables based on current list of tables. So, T1 will 
> be missing.
>  - Thread-1 -> Commit Txn (Txn1)
>  - REPL LOAD from bootstrap dump will skip T1.
>  - Incremental REPL DUMP will start from Event-10 and hence allocate write id 
> for table T1 and drop table(T1) is idempotent. So, at target, exist entries 
> in TXN_TO_WRITE_ID and NEXT_WRITE_ID metastore tables.
>  - Now, when we create another table at source with same name T1 and 
> replicate, then it may lead to incorrect data for readers at target on T1.
> Couple of proposals:
>  1. Make allocate write ID idempotent which is not possible as table doesn't 
> exist and MM table import may lead to allocate write id before creating 
> table. So, cannot differentiate these 2 cases.
>  2. Make Drop table event to drop entries from TXN_TO_WRITE_ID and 
> NEXT_WRITE_ID tables irrespective of table exist or not at target.



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

Reply via email to