[
https://issues.apache.org/jira/browse/HIVE-13959?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15319241#comment-15319241
]
Yongzhi Chen commented on HIVE-13959:
-------------------------------------
[~ctang.ma]
I do not quite understand how MoveTask releases all locks under a
HiveLockObject pathNames.
It looks for me as following:
One LoadTableDesc object map to one WriteEntity;
one WriteEntity map to one List<HiveLockObj>.
These list of HiveLockObj are all created during acquireLocks related to the
query.
In the releaseLocks code, lockObj.getObj() return HiveLockObject
List<HiveLock> locks = lockMgr.getLocks(lockObj.getObj(), false, true);
HiveLockObject equals method need both
pathNames are same and HiveLockObjectData are same.
HiveLockObjectData equals method need query_id, lock_mode, lock_time... are all
same.
So I think the locks return by getLocks should all related to the query.
Therefore, MoveTask has no chance to release other query's locks.
Do I miss something?
> MoveTask should only release its query associated locks
> -------------------------------------------------------
>
> Key: HIVE-13959
> URL: https://issues.apache.org/jira/browse/HIVE-13959
> Project: Hive
> Issue Type: Bug
> Components: Locking
> Reporter: Chaoyu Tang
> Assignee: Chaoyu Tang
> Attachments: HIVE-13959.patch, HIVE-13959.patch
>
>
> releaseLocks in MoveTask releases all locks under a HiveLockObject pathNames.
> But some of locks under this pathNames might be for other queries and should
> not be released.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)