Hi Rajesh, When the queries are locking tables/partitions they are using the acquireLocks method. If you are using DummyTxnManager then it acquires locks with keepAlive false.
When using manual locking then that is a different story, and most probably you are right when you say that it creates persistent locks. Thanks, Peter > On Nov 12, 2018, at 15:54, rajeshksv <rajeshks...@gmail.com> wrote: > > Hi Hive Users, > > I am using Hive 2.3.3. > > According to docs (https://cwiki.apache.org/confluence/display/Hive/Locking > <https://cwiki.apache.org/confluence/display/Hive/Locking>), they are > ephemeral. But in the Zookeeper and Hive source Code, they seemed to be > non-ephemeral. > > I ran the following query in Hive. > > lock table discovery.defaultns > > When I see the lock in zookeeper, it doesn't look like ephemeral node. > > [zk: localhost:2181(CONNECTED) 55] get > /hive_zookeeper_namespace/discovery/defaultns/LOCK-EXCLUSIVE-0000000000 > hive_20181112191555_d6640955-2806-4fa7-9e52-30d04c377a04:1542030355565:EXPLICIT:lock > table discovery.defaultns exclusive:10.33.222.139 > cZxid = 0x2400296808 > ctime = Mon Nov 12 19:15:55 IST 2018 > mZxid = 0x2400296808 > mtime = Mon Nov 12 19:15:55 IST 2018 > pZxid = 0x2400296808 > cversion = 0 > dataVersion = 0 > aclVersion = 0 > ephemeralOwner = 0x0 > dataLength = 134 > numChildren = 0 > > Also in the code - > https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/lockmgr/HiveTxnManagerImpl.java > > <https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/lockmgr/HiveTxnManagerImpl.java>, > the lock is KeepAlive/PERSISTENT and not EPHIMERAL . > HiveLock lck = lockMgr.lock(new HiveLockObject(tbl, lockData), mode, > true); > Is it a bug or am I missing something? Thanks! > > -- > Regards, > Rajesh KSV