Index names are case sensitive
------------------------------
Key: HIVE-2752
URL: https://issues.apache.org/jira/browse/HIVE-2752
Project: Hive
Issue Type: Bug
Components: Indexing, Metastore, Query Processor
Affects Versions: 0.9.0
Reporter: Philip Tromans
Priority: Minor
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.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira