hive-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Caleb Jones (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HIVE-4795) Delete/Alter/Describe actions fail when SerDe is not on class path
Date Wed, 03 Jul 2013 22:42:20 GMT

    [ https://issues.apache.org/jira/browse/HIVE-4795?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13699539#comment-13699539
] 

Caleb Jones commented on HIVE-4795:
-----------------------------------

Viji, I think that makes sense. Rather than re-architect how serdes work, simply provide the
ability for people to correct problems in tables which reference orphaned serdes. Perhaps
a "--disableSerdeValidation" flag or something like that.
                
> Delete/Alter/Describe actions fail when SerDe is not on class path
> ------------------------------------------------------------------
>
>                 Key: HIVE-4795
>                 URL: https://issues.apache.org/jira/browse/HIVE-4795
>             Project: Hive
>          Issue Type: Bug
>          Components: CLI
>    Affects Versions: 0.10.0
>         Environment: CDH 4.2
> java version "1.6.0_24"
>            Reporter: Caleb Jones
>              Labels: serde
>
> *Use case:*
> Old table was created using a SerDe and system has gone through some re-configuration
resulting in that serde no longer being used and hence removed. Actions necessary to identify
and fix the offending tables (e.g. describe, alter, delete) fail due to the SerDe no longer
being there.
> *Repro Steps:*
> 1. Create table that uses a SerDe loaded in externally (via "add jar ...")
> 2. Remove the jar that the SerDe comes from
> 3. Attempt to describe, alter (set serde ...), or delete the table created in step #1
> *Expected Behavior:*
> Regardless of the status of the SerDe behind the table, perform those actions. Loading
the SerDe shouldn't be a requirement to do so.
> *Actual Behavior:*
> SerDeException thrown:
> {noformat}
> org.apache.hadoop.hive.serde2.SerDeUtils.lookupDeserializer(SerDeUtils.java:86)
> org.apache.hadoop.hive.metastore.MetaStoreUtils.getDeserializer(MetaStoreUtils.java:207)
> org.apache.hadoop.hive.ql.metadata.Table.getDeserializerFromMetaStore(Table.java:266)
> org.apache.hadoop.hive.ql.metadata.Table.getDeserializer(Table.java:259)
> org.apache.hadoop.hive.ql.metadata.Table.getCols(Table.java:585)
> org.apache.hadoop.hive.ql.metadata.Table.checkValidity(Table.java:168)
> org.apache.hadoop.hive.ql.metadata.Hive.getTable(Hive.java:967)
> org.apache.hadoop.hive.ql.parse.DDLSemanticAnalyzer.addInputsOutputsAlterTable(DDLSemanticAnalyzer.java:1109)
> org.apache.hadoop.hive.ql.parse.DDLSemanticAnalyzer.analyzeAlterTableSerde(DDLSemanticAnalyzer.java:1037)
> org.apache.hadoop.hive.ql.parse.DDLSemanticAnalyzer.analyzeInternal(DDLSemanticAnalyzer.java:214)
> ...
> {noformat}
> or
> {noformat}
> java.lang.RuntimeException: MetaException(message:org.apache.hadoop.hive.serde2.SerDeException
SerDe f.q.c.n.MySerDe does not exist)
>     at org.apache.hadoop.hive.ql.metadata.Table.getDeserializerFromMetaStore(Table.java:268)
>     at org.apache.hadoop.hive.ql.metadata.Table.getDeserializer(Table.java:259)
>     at org.apache.hadoop.hive.ql.metadata.Table.getCols(Table.java:585)
>     at org.apache.hadoop.hive.ql.metadata.Table.checkValidity(Table.java:168)
>     at org.apache.hadoop.hive.ql.metadata.Hive.getTable(Hive.java:967)
>     at org.apache.hadoop.hive.ql.metadata.Hive.getTable(Hive.java:868)
>     at org.apache.hadoop.hive.ql.parse.DDLSemanticAnalyzer$QualifiedNameUtil.getAttemptTableName(DDLSemanticAnalyzer.java:1420)
>     at org.apache.hadoop.hive.ql.parse.DDLSemanticAnalyzer$QualifiedNameUtil.getTableName(DDLSemanticAnalyzer.java:1478)
>     ....
> {noformat}
> *Workaround:*
> Find SerDe that the problematic table was configured to use (which may not readily be
possible), and manually load it (via 'add jar ...') in order to fix the problem.

--
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: http://www.atlassian.com/software/jira

Mime
View raw message