Details
-
Bug
-
Status: Resolved
-
Minor
-
Resolution: Fixed
-
0.9.0
-
None
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.