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

Hiveserver block query

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Critical
    • Resolution: Duplicate
    • 0.12.0
    • None
    • Query Processor
    • OS:Red Hat Enterprise Linux Server release 6.5 (Santiago)
      CPU:64 cores
      Memory:64GB
      Hadoop:CDH4.2.1

    • Hiveserver block query

    Description

      In our environment Hiveserver handle approximately 15000 jobs per day。Sometimes we found a large number of ETL tasks wait in our ETL schedule queue to run。In this situation only few Hadoop Job running in Hadoop cluster,many maps and reduces slots free.We view Hiveserver heap found Hiveserver block a large number of query:
      "pool-1-thread-17903" prio=10 tid=0x00007f89589c8000 nid=0x13865 waiting for monitor entry [0x00007f893413b000]
      java.lang.Thread.State: BLOCKED (on object monitor)
      at org.apache.hadoop.hive.ql.Driver.runInternal(Driver.java:977)

      • waiting to lock <0x00000006000ac458> (a java.lang.Object)
        at org.apache.hadoop.hive.ql.Driver.run(Driver.java:888)
        at org.apache.hadoop.hive.service.HiveServer$HiveServerHandler.execute(HiveServer.java:198)
        at org.apache.hadoop.hive.service.ThriftHive$Processor$execute.getResult(ThriftHive.java:644)
        at org.apache.hadoop.hive.service.ThriftHive$Processor$execute.getResult(ThriftHive.java:628)
        at org.apache.thrift.ProcessFunction.process(ProcessFunction.java:39)
        at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:39)
        at org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:206)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
        at java.lang.Thread.run(Thread.java:662)

      It is a problem of HiveServer cannot handle concurrent requests from more than one client.?Why HiveServer cannot handle concurrent requests?
      https://github.com/apache/hive/blob/branch-0.12/ql/src/java/org/apache/hadoop/hive/ql/Driver.java#L975
      Under code in org.apache.hadoop.hive.ql cause Hiveserver cannot handle concurrent requests?
      int ret;
      synchronized (compileMonitor)

      { ret = compile(command); }

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              zengyongping zengyongping
              Votes:
              1 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Time Tracking

                  Estimated:
                  Original Estimate - 72h
                  72h
                  Remaining:
                  Remaining Estimate - 72h
                  72h
                  Logged:
                  Time Spent - Not Specified
                  Not Specified