[ 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)