[ https://issues.apache.org/jira/browse/HIVE-23349?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17102081#comment-17102081
]
Hive QA commented on HIVE-23349:
--------------------------------
Here are the results of testing the latest attachment:
https://issues.apache.org/jira/secure/attachment/13002306/HIVE-23349.5.patch
{color:green}SUCCESS:{color} +1 due to 2 test(s) being added or modified.
{color:red}ERROR:{color} -1 due to 2 failed/errored test(s), 17246 tests executed
*Failed tests:*
{noformat}
org.apache.hadoop.hive.cli.TestMiniLlapCliDriver.testCliDriver[orc_merge10] (batchId=49)
org.apache.hive.jdbc.TestJdbcGenericUDTFGetSplits2.testGenericUDTFOrderBySplitCount1 (batchId=211)
{noformat}
Test results: https://builds.apache.org/job/PreCommit-HIVE-Build/22190/testReport
Console output: https://builds.apache.org/job/PreCommit-HIVE-Build/22190/console
Test logs: http://104.198.109.242/logs/PreCommit-HIVE-Build-22190/
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: 2 tests failed
{noformat}
This message is automatically generated.
ATTACHMENT ID: 13002306 - PreCommit-HIVE-Build
> ACID: Concurrent MERGE INSERT operations produce duplicates
> -----------------------------------------------------------
>
> Key: HIVE-23349
> URL: https://issues.apache.org/jira/browse/HIVE-23349
> Project: Hive
> Issue Type: Bug
> Components: Transactions
> Reporter: Denys Kuzmenko
> Assignee: Denys Kuzmenko
> Priority: Major
> Attachments: HIVE-23349.1.patch, HIVE-23349.2.patch, HIVE-23349.3.patch, HIVE-23349.4.patch,
HIVE-23349.5.patch
>
>
> 2 concurrent MERGE INSERT operations generate duplicates due to lack of locking.
> MERGE INSERT is treated as regular INSERT, it acquires SHARED_READ lock that doesn't
prevent other INSERTs. We should use EXCLUSIVE lock here or EXCL_WRITE if hive.txn.write.xlock=false;
> {code}
> create table target (a int, b int) stored as orc TBLPROPERTIES ('transactional'='true')");
> insert into target values (1,2), (3,4)
> create table source (a int, b int)
> {code}
> execute in parallel:
> {code}
> insert into source values (5,6), (7,8)
> {code}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
|