Uploaded image for project: 'Apache Drill'
  1. Apache Drill
  2. DRILL-670

Queries selecting specific column names from hbase table hang

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 0.1.0-m1
    • 0.4.0
    • Storage - HBase
    • None

    Description

      mapr-drill-1.0.0.25536-1.noarch

      I have an hbase table with the following properties:
      hbase(main):001:0> describe 'voter'
      DESCRIPTION ENABLED
      'voter',

      {NAME => 'fourcf', DATA_BLOCK_ENCODING => 'NONE', BLOOMFIL true TER => 'NONE', REPLICATION_SCOPE => '0', VERSIONS => '3', MIN_VERSI ONS => '0', TTL => '2147483647', KEEP_DELETED_CELLS => 'false', BLO CKSIZE => '65536', IN_MEMORY => 'false', ENCODE_ON_DISK => 'true', BLOCKCACHE => 'true'}

      ,

      {NAME => 'onecf', DATA_BLOCK_ENCODING => 'NO NE', BLOOMFILTER => 'NONE', REPLICATION_SCOPE => '0', VERSIONS => ' 3', MIN_VERSIONS => '0', TTL => '2147483647', KEEP_DELETED_CELLS => 'false', BLOCKSIZE => '65536', IN_MEMORY => 'false', ENCODE_ON_DIS K => 'true', BLOCKCACHE => 'true'}

      ,

      {NAME => 'threecf', DATA_BLOCK_ ENCODING => 'NONE', BLOOMFILTER => 'NONE', REPLICATION_SCOPE => '0' , VERSIONS => '3', MIN_VERSIONS => '0', TTL => '2147483647', KEEP_D ELETED_CELLS => 'false', BLOCKSIZE => '65536', IN_MEMORY => 'false' , ENCODE_ON_DISK => 'true', BLOCKCACHE => 'true'}

      ,

      {NAME => 'twocf' , DATA_BLOCK_ENCODING => 'NONE', BLOOMFILTER => 'NONE', REPLICATION _SCOPE => '0', VERSIONS => '3', MIN_VERSIONS => '0', TTL => '214748 3647', KEEP_DELETED_CELLS => 'false', BLOCKSIZE => '65536', IN_MEMO RY => 'false', ENCODE_ON_DISK => 'true', BLOCKCACHE => 'true'}

      Ran the following query from sqlline:
      select name, age from voter limit 5;

      The query hangs. Here is part of the java stack trace for the sqlline process:
      "Finalizer" daemon prio=10 tid=0x00007f3ec4073000 nid=0x25c4 in Object.wait() [0x00007f3ec8d79000]
      java.lang.Thread.State: WAITING (on object monitor)
      at java.lang.Object.wait(Native Method)

      • waiting on <0x00000000c4190f98> (a java.lang.ref.ReferenceQueue$Lock)
        at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:135)
      • locked <0x00000000c4190f98> (a java.lang.ref.ReferenceQueue$Lock)
        at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:151)
        at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:189)

      "Reference Handler" daemon prio=10 tid=0x00007f3ec406f000 nid=0x25c3 in Object.wait() [0x00007f3ec8e7a000]
      java.lang.Thread.State: WAITING (on object monitor)
      at java.lang.Object.wait(Native Method)

      • waiting on <0x00000000c4190b10> (a java.lang.ref.Reference$Lock)
        at java.lang.Object.wait(Object.java:503)
        at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:133)
      • locked <0x00000000c4190b10> (a java.lang.ref.Reference$Lock)

      "main" prio=10 tid=0x00007f3ec4011800 nid=0x25bf waiting on condition [0x00007f3ecada7000]
      java.lang.Thread.State: WAITING (parking)
      at sun.misc.Unsafe.park(Native Method)

      • parking to wait for <0x00000000ecd4dd18> (a java.util.concurrent.CountDownLatch$Sync)
        at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:834)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedInterruptibly(AbstractQueuedSynchronizer.java:994)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1303)
        at java.util.concurrent.CountDownLatch.await(CountDownLatch.java:236)
        at org.apache.drill.jdbc.DrillResultSet.execute(DrillResultSet.java:88)
        at org.apache.drill.jdbc.DrillResultSet.execute(DrillResultSet.java:43)
        at net.hydromatic.avatica.AvaticaConnection.executeQueryInternal(AvaticaConnection.java:404)
        at net.hydromatic.avatica.AvaticaStatement.executeQueryInternal(AvaticaStatement.java:350)
        at net.hydromatic.avatica.AvaticaStatement.executeInternal(AvaticaStatement.java:337)
        at net.hydromatic.avatica.AvaticaStatement.execute(AvaticaStatement.java:69)
        at sqlline.SqlLine$Commands.execute(SqlLine.java:3755)
        at sqlline.SqlLine$Commands.sql(SqlLine.java:3663)
        at sqlline.SqlLine.dispatch(SqlLine.java:889)
        at sqlline.SqlLine.begin(SqlLine.java:763)
        at sqlline.SqlLine.start(SqlLine.java:498)
        at sqlline.SqlLine.main(SqlLine.java:460)

      Selecting all column returns data.

      Attachments

        Issue Links

          Activity

            People

              adityakishore Aditya Kishore
              knguyen Krystal
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: