[ https://issues.apache.org/jira/browse/HIVE-5431?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Sushanth Sowmyan updated HIVE-5431: ----------------------------------- Attachment: HIVE-5431.2.patch Updated patch moving around code for it to be cleaner. > 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 > Attachments: HIVE-5431.2.patch, HIVE-5431.patch > > > 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)