Sushanth Sowmyan created HIVE-5431:
--------------------------------------
Summary: PassthroughOutputFormat SH changes causes
IllegalArgumentException
Key: HIVE-5431
URL: https://issues.apache.org/jira/browse/HIVE-5431
Project: Hive
Issue Type: Bug
Affects Versions: 0.12.0
Reporter: Sushanth Sowmyan
Assignee: Sushanth Sowmyan
The recent changes with HIVE-4331 introduced a new key
"hive.passthrough.storagehandler.of", whose value is set only on storage
handler writes, but obviously, will not be set on reads. However,
PlanUtils.configureJobPropertiesForStorageHandler winds up trying to set the
key for both cases into jobProperties, which cause any reads that are not
preceeded by writes to fail.
Basically, if you have a .q in which you insert data into a hbase table and
then read it, it's okay. If you have a .q in which you only read data, it
throws an IllegalArgumentException, like so:
{noformat}
2013-09-30 16:20:01,989 ERROR CliDriver (SessionState.java:printError(419)) -
Failed with exception java.io.IOException:java.lang.IllegalArgumentException:
Property value must not be null
java.io.IOException: java.lang.IllegalArgumentException: Property value must
not be null
at
org.apache.hadoop.hive.ql.exec.FetchOperator.getNextRow(FetchOperator.java:551)
at
org.apache.hadoop.hive.ql.exec.FetchOperator.pushRow(FetchOperator.java:489)
at org.apache.hadoop.hive.ql.exec.FetchTask.fetch(FetchTask.java:136)
at org.apache.hadoop.hive.ql.Driver.getResults(Driver.java:1471)
at
org.apache.hadoop.hive.cli.CliDriver.processLocalCmd(CliDriver.java:271)
at org.apache.hadoop.hive.cli.CliDriver.processCmd(CliDriver.java:216)
at org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:413)
at org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:348)
at
org.apache.hadoop.hive.cli.CliDriver.processReader(CliDriver.java:446)
at org.apache.hadoop.hive.cli.CliDriver.processFile(CliDriver.java:456)
at
org.apache.hadoop.hive.cli.CliDriver.executeDriver(CliDriver.java:737)
at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:675)
at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:614)
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:212)
Caused by: java.lang.IllegalArgumentException: Property value must not be null
at
com.google.common.base.Preconditions.checkArgument(Preconditions.java:88)
at org.apache.hadoop.conf.Configuration.set(Configuration.java:810)
at org.apache.hadoop.conf.Configuration.set(Configuration.java:792)
at
org.apache.hadoop.hive.ql.exec.Utilities.copyTableJobPropertiesToConf(Utilities.java:1826)
at
org.apache.hadoop.hive.ql.exec.FetchOperator.getRecordReader(FetchOperator.java:380)
at
org.apache.hadoop.hive.ql.exec.FetchOperator.getNextRow(FetchOperator.java:515)
... 17 more
{noformat}
--
This message was sent by Atlassian JIRA
(v6.1#6144)