[ https://issues.apache.org/jira/browse/HIVE-3392?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13454625#comment-13454625 ]
Ajesh Kumar commented on HIVE-3392: ----------------------------------- Hi Edward Capriolo, when we are dropping a table, why we need to validate the class. We just need to drop the table even if the particular class (which was used while creating the table) is not available. let me know your comments. > 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.2.patch.txt, HIVE-3392.Test Case - After > Patch.txt, HIVE-3392.Test Case - Before 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