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

Reply via email to