[ https://issues.apache.org/jira/browse/HIVE-17647?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16427455#comment-16427455 ]
Sergey Shelukhin commented on HIVE-17647: ----------------------------------------- I don't think it's actually possible to verify... do ACID q tests verify the directory structure? Will see if lock test can be added. > DDLTask.generateAddMmTasks(Table tbl) and other random code should not start > transactions > ----------------------------------------------------------------------------------------- > > Key: HIVE-17647 > URL: https://issues.apache.org/jira/browse/HIVE-17647 > Project: Hive > Issue Type: Sub-task > Components: Transactions > Reporter: Eugene Koifman > Assignee: Sergey Shelukhin > Priority: Major > Labels: mm-gap-2 > Attachments: HIVE-17647.patch > > > This method (and other places) have > {noformat} > if (txnManager.isTxnOpen()) { > mmWriteId = txnManager.getCurrentTxnId(); > } else { > mmWriteId = txnManager.openTxn(new Context(conf), conf.getUser()); > txnManager.commitTxn(); > } > {noformat} > this should throw if there is no open transaction. It should never open one. > In general the logic seems suspect. Looks like the intent is to move all > existing files into a delta_x_x/ when a plain table is converted to MM table. > This seems like something that needs to be done from under an Exclusive lock > to prevent concurrent Insert operations writing data under table/partition > root. But this is too late to acquire locks which should be done from the > Driver.acquireLocks() (or else have deadlock detector since acquiring them > here would bread all-or-nothing lock acquisition semantics currently required > w/o deadlock detector) -- This message was sent by Atlassian JIRA (v7.6.3#76005)