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

Edward Capriolo commented on HIVE-3392:
---------------------------------------

I have an issue with this. Serde's and storage handlers could have custom drop 
logic. If we allow a drop without the class how do we know the right think was 
done?
                
> Hive unnecessarily validates table SerDes when dropping a table
> ---------------------------------------------------------------
>
>                 Key: HIVE-3392
>                 URL: https://issues.apache.org/jira/browse/HIVE-3392
>             Project: Hive
>          Issue Type: Bug
>    Affects Versions: 0.9.0
>            Reporter: Jonathan Natkins
>            Assignee: Ajesh Kumar
>              Labels: patch
>         Attachments: HIVE-3392.1.patch.txt
>
>
> natty@hadoop1:~$ hive
> hive> add jar 
> /home/natty/source/sample-code/custom-serdes/target/custom-serdes-1.0-SNAPSHOT.jar;
> Added 
> /home/natty/source/sample-code/custom-serdes/target/custom-serdes-1.0-SNAPSHOT.jar
>  to class path
> Added resource: 
> /home/natty/source/sample-code/custom-serdes/target/custom-serdes-1.0-SNAPSHOT.jar
> hive> create table test (a int) row format serde 'hive.serde.JSONSerDe';      
>       
> OK
> Time taken: 2.399 seconds
> natty@hadoop1:~$ hive
> hive> drop table test;                                                        
>        
> FAILED: Hive Internal Error: 
> java.lang.RuntimeException(MetaException(message:org.apache.hadoop.hive.serde2.SerDeException
>  SerDe hive.serde.JSONSerDe does not exist))
> java.lang.RuntimeException: 
> MetaException(message:org.apache.hadoop.hive.serde2.SerDeException SerDe 
> hive.serde.JSONSerDe does not exist)
>       at 
> org.apache.hadoop.hive.ql.metadata.Table.getDeserializerFromMetaStore(Table.java:262)
>       at 
> org.apache.hadoop.hive.ql.metadata.Table.getDeserializer(Table.java:253)
>       at org.apache.hadoop.hive.ql.metadata.Table.getCols(Table.java:490)
>       at 
> org.apache.hadoop.hive.ql.metadata.Table.checkValidity(Table.java:162)
>       at org.apache.hadoop.hive.ql.metadata.Hive.getTable(Hive.java:943)
>       at 
> org.apache.hadoop.hive.ql.parse.DDLSemanticAnalyzer.analyzeDropTable(DDLSemanticAnalyzer.java:700)
>       at 
> org.apache.hadoop.hive.ql.parse.DDLSemanticAnalyzer.analyzeInternal(DDLSemanticAnalyzer.java:210)
>       at 
> org.apache.hadoop.hive.ql.parse.BaseSemanticAnalyzer.analyze(BaseSemanticAnalyzer.java:243)
>       at org.apache.hadoop.hive.ql.Driver.compile(Driver.java:430)
>       at org.apache.hadoop.hive.ql.Driver.compile(Driver.java:337)
>       at org.apache.hadoop.hive.ql.Driver.run(Driver.java:889)
>       at 
> org.apache.hadoop.hive.cli.CliDriver.processLocalCmd(CliDriver.java:255)
>       at org.apache.hadoop.hive.cli.CliDriver.processCmd(CliDriver.java:212)
>       at org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:403)
>       at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:671)
>       at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:554)
>       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:208)
> Caused by: MetaException(message:org.apache.hadoop.hive.serde2.SerDeException 
> SerDe com.cloudera.hive.serde.JSONSerDe does not exist)
>       at 
> org.apache.hadoop.hive.metastore.MetaStoreUtils.getDeserializer(MetaStoreUtils.java:211)
>       at 
> org.apache.hadoop.hive.ql.metadata.Table.getDeserializerFromMetaStore(Table.java:260)
>       ... 20 more
> hive> add jar 
> /home/natty/source/sample-code/custom-serdes/target/custom-serdes-1.0-SNAPSHOT.jar;
> Added 
> /home/natty/source/sample-code/custom-serdes/target/custom-serdes-1.0-SNAPSHOT.jar
>  to class path
> Added resource: 
> /home/natty/source/sample-code/custom-serdes/target/custom-serdes-1.0-SNAPSHOT.jar
> hive> drop table test;
> OK
> Time taken: 0.658 seconds
> hive> 

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

Reply via email to