Uploaded image for project: 'Hive'
  1. Hive
  2. HIVE-20906

Are Hive locks ephemeral ?

Log workAgile BoardRank to TopRank to BottomBulk Copy AttachmentsBulk Move AttachmentsAdd voteVotersWatch issueWatchersCreate sub-taskConvert to sub-taskMoveLinkCloneLabelsUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Bug
    • Status: Patch Available
    • Major
    • Resolution: Unresolved
    • 2.3.0, 2.3.3, 3.1.1
    • None
    • None
    • None

    Description

      I am using Hive 2.3.3.
       
      According to docs (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, the lock is KeepAlive/PERSISTENT and not EPHIMERAL. Current code is
       
      HiveLock lck = lockMgr.lock(new HiveLockObject(tbl, lockData), mode, true); 

      Either the docs are misleading or code is incorrect.

      If docs are correct, then it should be

      HiveLock lck = lockMgr.lock(new HiveLockObject(tbl, lockData), mode, false); 

      The patch is the same. 

      Please correct me if I am wrong. This is my first ever Jira/Patch in Hive 

      Attachments

        1. ephemeral.patch
          2 kB
          Rajesh KSV

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            Unassigned Unassigned Assign to me
            rajeshksv37 Rajesh KSV

            Dates

              Created:
              Updated:

              Slack

                Issue deployment