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

Hive process is exiting on executing ALTER query

    XMLWordPrintableJSON

Details

    • Bug
    • Status: In Progress
    • Major
    • Resolution: Unresolved
    • 0.6.0
    • None
    • CLI, Server Infrastructure
    • None
    • SUSE Linux Enterprise Server 10 SP2 (i586) - Kernel 2.6.16.60-0.21-smp (3)
      Hadoop 0.20.1
      Hive 0.6.0

    • Avoiding System.exit () for killing the MR Process , instead kill the task ( which are not required to be executed )

    Description

      Hive process is exiting on executing the below queries in the same order as mentioned

      1) CREATE TABLE SAMPLETABLE(IP STRING , showtime BIGINT ) partitioned by (ds string,ipz int) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\040'

      2) ALTER TABLE SAMPLETABLE add Partition(ds='sf') location '/user/hive/warehouse' Partition(ipz=100) location '/user/hive/warehouse'

      After the second query execution , the hive throws the below exception and exiting the process

      10:09:03 ERROR exec.DDLTask: FAILED: Error in metadata: table is partitioned but partition spec is not specified or tab:

      {ipz=100}
      org.apache.hadoop.hive.ql.metadata.HiveException: table is partitioned but partition spec is not specified or tab: {ipz=100}

      at org.apache.hadoop.hive.ql.metadata.Table.isValidSpec(Table.java:341)
      at org.apache.hadoop.hive.ql.metadata.Hive.getPartition(Hive.java:902)
      at org.apache.hadoop.hive.ql.exec.DDLTask.addPartition(DDLTask.java:282)
      at org.apache.hadoop.hive.ql.exec.DDLTask.execute(DDLTask.java:191)
      at org.apache.hadoop.hive.ql.exec.Task.executeTask(Task.java:107)
      at org.apache.hadoop.hive.ql.exec.TaskRunner.runSequential(TaskRunner.java:55)
      at org.apache.hadoop.hive.ql.Driver.launchTask(Driver.java:633)
      at org.apache.hadoop.hive.ql.Driver.execute(Driver.java:506)
      at org.apache.hadoop.hive.ql.Driver.run(Driver.java:384)
      at org.apache.hadoop.hive.service.HiveServer$HiveServerHandler.execute(HiveServer.java:114)
      at org.apache.hadoop.hive.service.ThriftHive$Processor$execute.process(ThriftHive.java:378)
      at org.apache.hadoop.hive.service.ThriftHive$Processor.process(ThriftHive.java:366)
      at org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:252)
      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:619)

      As the "alter" query is incorrect the exception was thrown, ideally it should be "ALTER TABLE SAMPLETABLE add Partition(ds='sf',ipz=100) location '/user/hive/warehouse'".

      It is not good to exit the HIVE process when the query is incorrect.

      Attachments

        1. HIVE-1872.1.patch
          2 kB
          Bharath R

        Issue Links

          Activity

            People

              bharathr Bharath R
              bharathr Bharath R
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

                Created:
                Updated: