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

INSERT OVERWRITE TABLE db.table PARTITION (...) IF NOT EXISTS throws InvalidTableException

    XMLWordPrintableJSON

Details

    Description

      The following scenario reproduces the problem:

      CREATE DATABASE db2;
      CREATE TABLE db2.destinTable (one STRING, two STRING) PARTITIONED BY (ds STRING);
      INSERT OVERWRITE TABLE db2.destinTable PARTITION (ds='2011-11-11') IF NOT EXISTS SELECT 100, 200;
      

      The last query (INSERT OVERWRITE ...) fails with the following stack trace:

      2021-09-28T04:25:47,330 ERROR [e3399094-860f-4381-bfd3-d2acfa8a885d main] ql.Driver: FAILED: SemanticException org.apache.hadoop.hive.ql.metadata.InvalidTableException: Table not found db2
      org.apache.hadoop.hive.ql.parse.SemanticException: org.apache.hadoop.hive.ql.metadata.InvalidTableException: Table not found db2
              at org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.doPhase1(SemanticAnalyzer.java:1918)
              at org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.doPhase1(SemanticAnalyzer.java:1959)
              at org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.genResolvedParseTree(SemanticAnalyzer.java:12393)
              at org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.analyzeInternal(SemanticAnalyzer.java:12506)
              at org.apache.hadoop.hive.ql.parse.CalcitePlanner.analyzeInternal(CalcitePlanner.java:454)
              at org.apache.hadoop.hive.ql.parse.BaseSemanticAnalyzer.analyze(BaseSemanticAnalyzer.java:317)
              at org.apache.hadoop.hive.ql.Compiler.analyze(Compiler.java:223)
              at org.apache.hadoop.hive.ql.Compiler.compile(Compiler.java:105)
              at org.apache.hadoop.hive.ql.Driver.compile(Driver.java:500)
              at org.apache.hadoop.hive.ql.Driver.compileInternal(Driver.java:453)
              at org.apache.hadoop.hive.ql.Driver.compileAndRespond(Driver.java:417)
              at org.apache.hadoop.hive.ql.Driver.compileAndRespond(Driver.java:411)
              at org.apache.hadoop.hive.ql.reexec.ReExecDriver.compileAndRespond(ReExecDriver.java:125)
              at org.apache.hadoop.hive.ql.reexec.ReExecDriver.run(ReExecDriver.java:229)
              at org.apache.hadoop.hive.cli.CliDriver.processLocalCmd(CliDriver.java:256)
              at org.apache.hadoop.hive.cli.CliDriver.processCmd1(CliDriver.java:201)
              at org.apache.hadoop.hive.cli.CliDriver.processCmd(CliDriver.java:127)
              at org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:422)
              at org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:353)
              at org.apache.hadoop.hive.ql.QTestUtil.executeClientInternal(QTestUtil.java:804)
              at org.apache.hadoop.hive.ql.QTestUtil.executeClient(QTestUtil.java:774)
              at org.apache.hadoop.hive.cli.control.CoreCliDriver.runTest(CoreCliDriver.java:175)
              at org.apache.hadoop.hive.cli.control.CliAdapter.runTest(CliAdapter.java:157)
              at org.apache.hadoop.hive.cli.TestMiniLlapLocalCliDriver.testCliDriver(TestMiniLlapLocalCliDriver.java:62)
      

      The problem does not reproduce when the IF NOT EXISTS clause is not present in the query.

      Attachments

        Issue Links

          Activity

            People

              zabetak Stamatis Zampetakis
              xhmz xhmz
              Votes:
              1 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Time Tracking

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