[
https://issues.apache.org/jira/browse/HIVE-9544?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14723588#comment-14723588
]
Ryan P commented on HIVE-9544:
------------------------------
[~harisekhon] that's fair, sorry I missed that some how. I don't think the
issue is with Sentry it's so much as the presence of a pre-event listener.
>From the HMS logs I was able to find the following
ERROR org.apache.thrift.ProcessFunction: Internal error processing
get_partition_names
NoSuchObjectException(message:default.testdrop table not found)
at
org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.fireReadTablePreEvent(HiveMetaStore.java:2820)
Tracing the stack in the HMS logs I found that the error is thrown here:
private void fireReadTablePreEvent(String dbName, String tblName) throws
MetaException, NoSuchObjectException {
if(preListeners.size() > 0) {
// do this only if there is a pre event listener registered (avoid unnecessary
// metastore api call)
Table t = getMS().getTable(dbName, tblName);
if (t == null) {
throw new NoSuchObjectException(dbName + "." + tblName
+ " table not found");
}
firePreEvent(new PreReadTableEvent(t, this));
}
}
I'm not sure why or how the database qualifier is lost but in the absence of a
pre-event listener everything works as expected.
> Error dropping fully qualified partitioned table - Internal error processing
> get_partition_names
> ------------------------------------------------------------------------------------------------
>
> Key: HIVE-9544
> URL: https://issues.apache.org/jira/browse/HIVE-9544
> Project: Hive
> Issue Type: Bug
> Affects Versions: 0.14.0
> Environment: HDP 2.2
> Reporter: Hari Sekhon
> Priority: Minor
>
> When attempting to drop a partitioned table using a fully qualified name I
> get this error:
> {code}
> hive -e 'drop table myDB.my_table_name;'
> Logging initialized using configuration in
> file:/etc/hive/conf/hive-log4j.properties
> SLF4J: Class path contains multiple SLF4J bindings.
> SLF4J: Found binding in
> [jar:file:/usr/hdp/2.2.0.0-2041/hadoop/lib/slf4j-log4j12-1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class]
> SLF4J: Found binding in
> [jar:file:/usr/hdp/2.2.0.0-2041/hive/lib/hive-jdbc-0.14.0.2.2.0.0-2041-standalone.jar!/org/slf4j/impl/StaticLoggerBinder.class]
> SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an
> explanation.
> SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]
> FAILED: Execution Error, return code 1 from
> org.apache.hadoop.hive.ql.exec.DDLTask.
> org.apache.thrift.TApplicationException: Internal error processing
> get_partition_names
> {code}
> It succeeds if I instead do:
> {code}hive -e 'use myDB; drop table my_table_name;'{code}
> Regards,
> Hari Sekhon
> http://www.linkedin.com/in/harisekhon
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)