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

Index names are case sensitive

    XMLWordPrintableJSON

Details

    Description

      The following script:

      DROP TABLE IF EXISTS TestTable;

      CREATE TABLE TestTable (a INT);

      DROP INDEX IF EXISTS TestTableA_IDX ON TestTable;

      CREATE INDEX TestTableA_IDX ON TABLE TestTable (a) AS 'org.apache.hadoop.hive.ql.index.compact.CompactIndexHandler' WITH DEFERRED REBUILD;

      ALTER INDEX TestTableA_IDX ON TestTable REBUILD;

      results in the following exception:

      MetaException(message:index testtablea_idx doesn't exist)
      at org.apache.hadoop.hive.metastore.ObjectStore.alterIndex(ObjectStore.java:1880)
      at org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler$30.run(HiveMetaStore.java:1930)
      at org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler$30.run(HiveMetaStore.java:1927)
      at org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.executeWithRetry(HiveMetaStore.java:356)
      at org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.alter_index(HiveMetaStore.java:1927)
      at org.apache.hadoop.hive.metastore.HiveMetaStoreClient.alter_index(HiveMetaStoreClient.java:868)
      at org.apache.hadoop.hive.ql.metadata.Hive.alterIndex(Hive.java:398)
      at org.apache.hadoop.hive.ql.exec.DDLTask.alterIndex(DDLTask.java:902)
      at org.apache.hadoop.hive.ql.exec.DDLTask.execute(DDLTask.java:236)
      at org.apache.hadoop.hive.ql.exec.Task.executeTask(Task.java:134)
      at org.apache.hadoop.hive.ql.exec.TaskRunner.runSequential(TaskRunner.java:57)
      at org.apache.hadoop.hive.ql.Driver.launchTask(Driver.java:1332)
      at org.apache.hadoop.hive.ql.Driver.execute(Driver.java:1123)
      at org.apache.hadoop.hive.ql.Driver.run(Driver.java:931)
      at org.apache.hadoop.hive.cli.CliDriver.processLocalCmd(CliDriver.java:255)
      at org.apache.hadoop.hive.cli.CliDriver.processCmd(CliDriver.java:212)
      at org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:403)
      at org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:338)
      at org.apache.hadoop.hive.cli.CliDriver.processReader(CliDriver.java:436)
      at org.apache.hadoop.hive.cli.CliDriver.processFile(CliDriver.java:446)
      at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:642)
      at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:554)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:597)
      at org.apache.hadoop.util.RunJar.main(RunJar.java:156)

      When you execute: "SHOW INDEXES ON TestTable;", you get:

      TestTableA_IDX testtable a default_testtable_testtablea_idx_ compact

      so it looks like things don't get lower cased when they go into the metastore, but they do when the rebuild op is trying to execute.

      Attachments

        1. HIVE-2752.1.patch.txt
          7 kB
          Navis Ryu

        Activity

          People

            navis Navis Ryu
            philip.tromans Philip Tromans
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Time Tracking

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