Eugene Koifman created HIVE-11848:
-------------------------------------
Summary: tables in subqueries don't get locked
Key: HIVE-11848
URL: https://issues.apache.org/jira/browse/HIVE-11848
Project: Hive
Issue Type: Bug
Components: Locking, Transactions
Reporter: Eugene Koifman
Assignee: Eugene Koifman
Consider
{noformat}
update acidTbl set b=19 where acidTbl.b in(select I.b from nonAcidOrcTbl I
where I.a = 3)
{noformat}
noAcidOrcTbl doesn't get locked at all. (SHARED_WRITE is taken on acidTbl).
This is is because the ReadEntity for nonAcidOrcTbl is skipped by
{noformat}
for (ReadEntity input : plan.getInputs()) {
if (!input.needsLock() || input.isUpdateOrDelete()) {
// We don't want to acquire readlocks during update or delete as we'll
be acquiring write
// locks instead.
continue;
}
{noformat}
whatever sets isUpdateOrDelete() flag doesn't pay attention to whether the
table is written to or not.
HIVE-10150 was a similar issue, abstractly
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)