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

HiveServer2: All operations lock on a Single HiveConf object

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Major
    • Resolution: Unresolved
    • 3.0.0
    • None
    • HiveServer2

    Description

      With the 1000 user test, the session start/tear-down runs only at 100% CPU, which is due to all threads locking on the same HiveConf object.

      OpenSession locks on 0x00000005c091a3a0

      "HiveServer2-HttpHandler-Pool: Thread-65084" #65084 prio=5 os_prio=0 tid=0x00000000103bb000 nid=0x4a09 waiting for monitor entry [0x00007fc1b0987000]
         java.lang.Thread.State: BLOCKED (on object monitor)
          at org.apache.hadoop.conf.Configuration.getOverlay(Configuration.java:1418)
          - waiting to lock <0x00000005c091a3a0> (a org.apache.hadoop.hive.conf.HiveConf)
          at org.apache.hadoop.conf.Configuration.handleDeprecation(Configuration.java:711)
          at org.apache.hadoop.conf.Configuration.get(Configuration.java:1437)
          at org.apache.hadoop.hive.conf.HiveConf.getVar(HiveConf.java:4996)
          at org.apache.hadoop.hive.conf.HiveConf.getVar(HiveConf.java:5069)
          at org.apache.hive.service.cli.thrift.ThriftCLIService.getUserName(ThriftCLIService.java:424)
          at org.apache.hive.service.cli.thrift.ThriftCLIService.getSessionHandle(ThriftCLIService.java:467)
          at org.apache.hive.service.cli.thrift.ThriftCLIService.OpenSession(ThriftCLIService.java:325)
      

      GetOperationStatus locks on the same

      "HiveServer2-HttpHandler-Pool: Thread-65082" #65082 prio=5 os_prio=0 tid=0x00007fc2656be000 nid=0x4a06 waiting for monitor entry [0x00007fc3159db000]
         java.lang.Thread.State: BLOCKED (on object monitor)
          at org.apache.hadoop.conf.Configuration.getOverlay(Configuration.java:1418)
          - waiting to lock <0x00000005c091a3a0> (a org.apache.hadoop.hive.conf.HiveConf)
          at org.apache.hadoop.conf.Configuration.handleDeprecation(Configuration.java:711)
          at org.apache.hadoop.conf.Configuration.get(Configuration.java:1437)
          at org.apache.hadoop.hive.conf.HiveConf.getVar(HiveConf.java:4996)
          at org.apache.hadoop.hive.conf.HiveConf.getVar(HiveConf.java:5069)
          at org.apache.hive.service.cli.thrift.ThriftCLIService.GetOperationStatus(ThriftCLIService.java:709)
      

      Session clean up locks on the same

      "8fd1db09-9f96-49dc-becf-5702826bd4f5 HiveServer2-HttpHandler-Pool: Thread-64981" #64981 prio=5 os_prio=0 tid=0x000000001d1ab000 nid=0x23d5 waiting for monitor entry [0x00007fc1b65e3000]
         java.lang.Thread.State: BLOCKED (on object monitor)
          at org.apache.hadoop.conf.Configuration.getOverlay(Configuration.java:1418)
          - waiting to lock <0x00000005c091a3a0> (a org.apache.hadoop.hive.conf.HiveConf)
          at org.apache.hadoop.conf.Configuration.handleDeprecation(Configuration.java:711)
          at org.apache.hadoop.conf.Configuration.get(Configuration.java:1177)
          at org.apache.hadoop.conf.Configuration.getTrimmedStringCollection(Configuration.java:2122)
          at org.apache.hadoop.hdfs.DFSUtilClient.getNameServiceIds(DFSUtilClient.java:197)
          at org.apache.hadoop.hdfs.HAUtilClient.isLogicalUri(HAUtilClient.java:53)
      ...
          at org.apache.hadoop.hdfs.DistributedFileSystem.delete(DistributedFileSystem.java:959)
          at org.apache.hadoop.hive.ql.Context.clear(Context.java:724)
      

      Hadoop RPC blocks on the same

      "HiveServer2-HttpHandler-Pool: Thread-59227" #59227 prio=5 os_prio=0 tid=0x00007fc270aeb800 nid=0x129b waiting for monitor entry [0x00007fc28b7b5000]
         java.lang.Thread.State: BLOCKED (on object monitor)
          at org.apache.hadoop.conf.Configuration.getOverlay(Configuration.java:1418)
          - waiting to lock <0x00000005c091a3a0> (a org.apache.hadoop.hive.conf.HiveConf)
          at org.apache.hadoop.conf.Configuration.handleDeprecation(Configuration.java:711)
          at org.apache.hadoop.conf.Configuration.get(Configuration.java:1177)
          at org.apache.hadoop.conf.Configuration.getTrimmed(Configuration.java:1234)
          at org.apache.hadoop.conf.Configuration.getInt(Configuration.java:1459)
          at org.apache.hadoop.ipc.Client$Connection.<init>(Client.java:451)
          at org.apache.hadoop.ipc.Client.getConnection(Client.java:1532)
       ...
          at org.apache.hadoop.hdfs.DistributedFileSystem.getFileStatus(DistributedFileSystem.java:1580)
          at org.apache.hadoop.fs.FileSystem.exists(FileSystem.java:1734)
          at org.apache.hadoop.fs.FileSystem.deleteOnExit(FileSystem.java:1677)
          at org.apache.hadoop.hive.ql.session.SessionState.createPath(SessionState.java:791)
      

      Attachments

        Activity

          People

            Unassigned Unassigned
            gopalv Gopal Vijayaraghavan
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

            Dates

              Created:
              Updated: