You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hive.apache.org by "Sushanth Sowmyan (JIRA)" <ji...@apache.org> on 2013/10/03 05:52:45 UTC

[jira] [Updated] (HIVE-5431) PassthroughOutputFormat SH changes causes IllegalArgumentException

     [ 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.patch

Attaching fix patch. This does not yet have any tests, I'll have to think on how to implement a test for it, and will update with one.

In the meanwhile, though, since this is a pretty significant bug (HBase users that simply do a select * in hive 0.12 will get an exception), I want to get some eyeballs on this for verification.

[~viraj], [~ashutoshc], could you please have a look at this?

[~thejas], please be warned, this is likely another candidate to push through into 0.12 in the last minute.

> 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.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)