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

getSchema() does not work properly with select* queries on Hive Server

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Major
    • Resolution: Unresolved
    • None
    • None
    • None
    • None
    • Hive Server, schema

    Description

      Running a select * query sometimes causes Null Pointer Exceptions in the Hive Server getSchema() method:

      This is the Hive Server Error:

      java.lang.NullPointerException
      at com.facebook.serde2.hive_context.contextSerDe.initialize(contextSerDe.java:35)
      at org.apache.hadoop.hive.ql.plan.tableDesc.getDeserializer(tableDesc.java:64)
      at org.apache.hadoop.hive.ql.Driver.getSchema(Driver.java:119)
      at org.apache.hadoop.hive.service.HiveServer$HiveServerHandler.getSchema(HiveServer.java:124)
      at org.apache.hadoop.hive.service.ThriftHive$Processor$getSchema.process(ThriftHive.java:376)
      at org.apache.hadoop.hive.service.ThriftHive$Processor.process(ThriftHive.java:252)
      at org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:252)
      at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
      at java.lang.Thread.run(Thread.java:619)
      09/07/21 22:58:53 ERROR service.HiveServer: java.lang.NullPointerException java.lang.NullPointerException
      at com.facebook.serde2.hive_context.contextSerDe.initialize(contextSerDe.java:35)
      at org.apache.hadoop.hive.ql.plan.tableDesc.getDeserializer(tableDesc.java:64)
      at org.apache.hadoop.hive.ql.Driver.getSchema(Driver.java:119)
      at org.apache.hadoop.hive.service.HiveServer$HiveServerHandler.getSchema(HiveServer.java:124)
      at org.apache.hadoop.hive.service.ThriftHive$Processor$getSchema.process(ThriftHive.java:376)
      at org.apache.hadoop.hive.service.ThriftHive$Processor.process(ThriftHive.java:252)
      at org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:252)
      at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
      at java.lang.Thread.run(Thread.java:619)

      Also, select * queries sometimes cause the Hive Server getSchema() to omit the field used to partition the table.

      This directly impacts the Hive ODBC driver (JIRA-187) and other sections that exercise the Hive Server.

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              ehwang Eric Hwang
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

                Created:
                Updated: