hive-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Brock Noland (JIRA)" <>
Subject [jira] [Commented] (HIVE-5199) Read Only Custom SerDe works with HDP 1.1 but not with HDP 1.3
Date Wed, 04 Sep 2013 19:58:52 GMT


Brock Noland commented on HIVE-5199:


Thanks for the contribution! On small suggestion, in this JIRA project we discuss the Apache
Hive project, not a distribution, therefore it's useful to discuss a regression in 0.9., 0.10,
or 0.11 which caused this.
> Read Only Custom SerDe works with HDP 1.1 but not with HDP 1.3
> --------------------------------------------------------------
>                 Key: HIVE-5199
>                 URL:
>             Project: Hive
>          Issue Type: Bug
>            Reporter: Hari Sankar Sivarama Subramaniyan
>            Assignee: Hari Sankar Sivarama Subramaniyan
>            Priority: Critical
>         Attachments: HIVE-5199.patch.txt
> Custom serdes which used to work in HDP 1.1 is no longer working with HDP 1.3.
> The issue happens when the partition serde is not of settable type in HDP 1.3. The below
exception happens via FetchOperator as well as MapOperator. 
> Inside FetchOperator consider the following call:
> getRecordReader()->ObjectInspectorConverters. getConverter()
> The output object inspector is of settable type(because it is generated via ObjectInspectorConverters.getConvertedOI())
where as the input object inspector that gets passed  as serde.getObjectorInspector() and
is non-settable. Inside  getConverter(), the (inputOI.equals(outputOI)) check fails and the
switch statement tries to cast the non-settable object inspector to a settable object inspector.
> The stack trace as follows:
> 2013-08-28 17:57:25,307 ERROR CliDriver ( - Failed
with exception
cannot be cast to org.apache.hadoop.hive.serde2.objectinspector.SettableMapObjectInspector
> java.lang.ClassCastException:
cannot be cast to org.apache.hadoop.hive.serde2.objectinspector.SettableMapObjectInspector
> at org.apache.hadoop.hive.ql.exec.FetchOperator.getNextRow(
> at org.apache.hadoop.hive.ql.exec.FetchOperator.pushRow(
> at org.apache.hadoop.hive.ql.exec.FetchTask.fetch(
> at org.apache.hadoop.hive.ql.Driver.getResults(
> at org.apache.hadoop.hive.cli.CliDriver.processLocalCmd(
> at org.apache.hadoop.hive.cli.CliDriver.processCmd(
> at org.apache.hadoop.hive.cli.CliDriver.processLine(
> at
> at org.apache.hadoop.hive.cli.CliDriver.main(
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(
> at java.lang.reflect.Method.invoke(
> at org.apache.hadoop.util.RunJar.main(
> Caused by: java.lang.ClassCastException:
cannot be cast to org.apache.hadoop.hive.serde2.objectinspector.SettableMapObjectInspector
> at org.apache.hadoop.hive.serde2.objectinspector.ObjectInspectorConverters.getConverter(
> at org.apache.hadoop.hive.serde2.objectinspector.ObjectInspectorConverters$StructConverter.<init>(
> at org.apache.hadoop.hive.serde2.objectinspector.ObjectInspectorConverters.getConverter(
> at org.apache.hadoop.hive.ql.exec.FetchOperator.getRecordReader(
> at org.apache.hadoop.hive.ql.exec.FetchOperator.getNextRow(

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see:

View raw message