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

Reply via email to