[ https://issues.apache.org/jira/browse/HIVE-25538?focusedWorklogId=656863&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-656863 ]
ASF GitHub Bot logged work on HIVE-25538: ----------------------------------------- Author: ASF GitHub Bot Created on: 28/Sep/21 20:25 Start Date: 28/Sep/21 20:25 Worklog Time Spent: 10m Work Description: pkumarsinha commented on a change in pull request #2655: URL: https://github.com/apache/hive/pull/2655#discussion_r716418809 ########## File path: itests/hive-unit/src/test/java/org/apache/hadoop/hive/ql/parse/TestReplicationScenariosIncrementalLoadAcidTables.java ########## @@ -243,6 +248,53 @@ public void testReplCM() throws Throwable { Lists.newArrayList(result, result)); } + @Test + public void testReplCommitTransactionOnSourceDelete() throws Throwable { + String tableName = "testReplCommitTransactionOnSourceDelete"; + String[] result = new String[] { "5" }; + + // Do a bootstrap dump. + WarehouseInstance.Tuple bootStrapDump = primary.dump(primaryDbName); + replica.load(replicatedDbName, primaryDbName).run("REPL STATUS " + replicatedDbName) + .verifyResult(bootStrapDump.lastReplicationId); + + // Add some data to the table & do a incremental dump. + ReplicationTestUtils.insertRecords(primary, primaryDbName, primaryDbNameExtra, tableName, null, false, + ReplicationTestUtils.OperationType.REPL_TEST_ACID_INSERT); + WarehouseInstance.Tuple incrementalDump = primary.dump(primaryDbName); Review comment: Can you please add the tables with following property: - ORC Format (I think covered) - bucketed - text input format All these tables should have a drop table use case like you are targeting now? ########## File path: itests/hive-unit/src/test/java/org/apache/hadoop/hive/ql/parse/TestReplicationScenariosIncrementalLoadAcidTables.java ########## @@ -243,6 +248,64 @@ public void testReplCM() throws Throwable { Lists.newArrayList(result, result)); } + @Test + public void testReplCommitTransactionOnSourceDeleteORC() throws Throwable { + // Run test with ORC format & with transactional true. + testReplCommitTransactionOnSourceDelete("STORED AS ORC", "'transactional'='true'"); + } + + @Test + public void testReplCommitTransactionOnSourceDeleteText() throws Throwable { + // Run test with TEXT format & with transactional true. Review comment: false? ########## File path: ql/src/java/org/apache/hadoop/hive/ql/parse/repl/CopyUtils.java ########## @@ -401,6 +404,18 @@ private boolean isSourceFileMismatch(FileSystem sourceFs, ReplChangeManager.File return false; } + @VisibleForTesting + private void runTestOnlyExecutions() throws IOException { Review comment: Wondering if this logic can be. moved to test itself ########## File path: ql/src/java/org/apache/hadoop/hive/ql/parse/repl/CopyUtils.java ########## @@ -65,6 +65,8 @@ private final String copyAsUser; private FileSystem destinationFs; private final int maxParallelCopyTask; + @VisibleForTesting Review comment: If the method is public does the annotation VisibleForTesting have any impact? -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: gitbox-unsubscr...@hive.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org Issue Time Tracking ------------------- Worklog Id: (was: 656863) Time Spent: 1h 20m (was: 1h 10m) > CommitTxn replay failing during incremental run > ----------------------------------------------- > > Key: HIVE-25538 > URL: https://issues.apache.org/jira/browse/HIVE-25538 > Project: Hive > Issue Type: Bug > Affects Versions: 4.0.0 > Reporter: Ayush Saxena > Assignee: Ayush Saxena > Priority: Critical > Labels: pull-request-available > Time Spent: 1h 20m > Remaining Estimate: 0h > > CommitTxn Fails during incremental run, in case the source file is deleted > post copy & before checksum validation. > {noformat} > 2021-09-21T07:53:40,898 ERROR [TThreadPoolServer WorkerProcess-%d] > thrift.ProcessFunction: Internal error processing commit_txn > org.apache.thrift.TException: > /warehouse1/replicated_testreplcommittransactiononsourcedelete_1632235978675.db/testreplcommittransactiononsourcedelete/load_date=2016-03-01/delta_0000002_0000002_0000 > (is not a directory) > at > org.apache.hadoop.hdfs.server.namenode.FSDirectory.resolvePath(FSDirectory.java:677) > at > org.apache.hadoop.hdfs.server.namenode.FSDirStatAndListingOp.getBlockLocations(FSDirStatAndListingOp.java:151) > at > org.apache.hadoop.hdfs.server.namenode.FSNamesystem.getBlockLocations(FSNamesystem.java:1927) > at > org.apache.hadoop.hdfs.server.namenode.NameNodeRpcServer.getBlockLocations(NameNodeRpcServer.java:738) > at > org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolServerSideTranslatorPB.getBlockLocations(ClientNamenodeProtocolServerSideTranslatorPB.java:424) > at > org.apache.hadoop.hdfs.protocol.proto.ClientNamenodeProtocolProtos$ClientNamenodeProtocol$2.callBlockingMethod(ClientNamenodeProtocolProtos.java) > at > org.apache.hadoop.ipc.ProtobufRpcEngine$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine.java:523) > at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:991) > at org.apache.hadoop.ipc.Server$RpcCall.run(Server.java:869) > at org.apache.hadoop.ipc.Server$RpcCall.run(Server.java:815) > at java.security.AccessController.doPrivileged(Native Method) > at javax.security.auth.Subject.doAs(Subject.java:422) > at > org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1682) > at org.apache.hadoop.ipc.Server$Handler.run(Server.java:2675) > at > org.apache.hadoop.hive.metastore.HMSHandler.commit_txn(HMSHandler.java:8652) > ~[hive-exec-4.0.0-SNAPSHOT.jar:4.0.0-SNAPSHOT] > at sun.reflect.GeneratedMethodAccessor118.invoke(Unknown Source) ~[?:?] > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > ~[?:1.8.0_261] > at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_261] > at > org.apache.hadoop.hive.metastore.RetryingHMSHandler.invokeInternal(RetryingHMSHandler.java:147) > ~[hive-exec-4.0.0-SNAPSHOT.jar:4.0.0-SNAPSHOT] > at > org.apache.hadoop.hive.metastore.RetryingHMSHandler.invoke(RetryingHMSHandler.java:108) > ~[hive-exec-4.0.0-SNAPSHOT.jar:4.0.0-SNAPSHOT] > at com.sun.proxy.$Proxy55.commit_txn(Unknown Source) ~[?:?] > at > org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore$Processor$commit_txn.getResult(ThriftHiveMetastore.java:23159) > ~[hive-standalone-metastore-common-4.0.0-SNAPSHOT.jar:4.0.0-SNAPSHOT] > at > org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore$Processor$commit_txn.getResult(ThriftHiveMetastore.java:23138) > ~[hive-standalone-metastore-common-4.0.0-SNAPSHOT.jar:4.0.0-SNAPSHOT] > at org.apache.thrift.ProcessFunction.process(ProcessFunction.java:38) > [hive-exec-4.0.0-SNAPSHOT.jar:4.0.0-SNAPSHOT] > at > org.apache.hadoop.hive.metastore.TUGIBasedProcessor$1.run(TUGIBasedProcessor.java:111) > [hive-exec-4.0.0-SNAPSHOT.jar:4.0.0-SNAPSHOT] > at > org.apache.hadoop.hive.metastore.TUGIBasedProcessor$1.run(TUGIBasedProcessor.java:107) > [hive-exec-4.0.0-SNAPSHOT.jar:4.0.0-SNAPSHOT] > at java.security.AccessController.doPrivileged(Native Method) > ~[?:1.8.0_261] > at javax.security.auth.Subject.doAs(Subject.java:422) [?:1.8.0_261] > at > org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1682) > [hadoop-common-3.1.0.jar:?] > at > org.apache.hadoop.hive.metastore.TUGIBasedProcessor.process(TUGIBasedProcessor.java:119) > [hive-exec-4.0.0-SNAPSHOT.jar:4.0.0-SNAPSHOT] > at > org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:248) > [hive-exec-4.0.0-SNAPSHOT.jar:4.0.0-SNAPSHOT] > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) > [?:1.8.0_261] > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) > [?:1.8.0_261] > at java.lang.Thread.run(Thread.java:748) [?:1.8.0_261] > {noformat} -- This message was sent by Atlassian Jira (v8.3.4#803005)