[ https://issues.apache.org/jira/browse/HIVE-12746?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15071382#comment-15071382 ]
wangfeng commented on HIVE-12746: --------------------------------- I see the HiveMetaStore.java code, the method private boolean drop_table_core(final RawStore ms, final String dbname, final String name, final boolean deleteData, final EnvironmentContext envContext, final String indexName) throws NoSuchObjectException, MetaException, IOException, InvalidObjectException, InvalidInputException) related code was: isExternal = isExternal(tbl); if (tbl.getSd().getLocation() != null) { tblPath = new Path(tbl.getSd().getLocation()); if (!wh.isWritable(tblPath.getParent())) { String target = indexName == null ? "Table" : "Index table"; throw new MetaException(target + " metadata not deleted since " + tblPath.getParent() + " is not writable by " + hiveConf.getUser()); } } here I suggest that when the code checks the hdfs path isWritable, should first see the table is isExternal.Only if false,hdfs permission should check. > when dropping external hive tables,hive metastore should not check the hdfs > path write permission > ------------------------------------------------------------------------------------------------- > > Key: HIVE-12746 > URL: https://issues.apache.org/jira/browse/HIVE-12746 > Project: Hive > Issue Type: Bug > Components: Metastore > Affects Versions: 1.2.1 > Environment: hive1.2.1 hadoop2.6 > Reporter: wangfeng > Priority: Critical > Labels: hdfspermission, metastore > Original Estimate: 168h > Remaining Estimate: 168h > > 1 user1 has read permission on hdfs path '/user/www/seller_shop_info'; > 2 user1 create external table seller_shop_info on the hdfs path; > 3 user1 drop the exernal table seller_shop_info > then problem occurred! > hive> drop table seller_shop_info; > FAILED: Execution Error, return code 1 from > org.apache.hadoop.hive.ql.exec.DDLTask. MetaException(message:Table metadata > not deleted since hdfs://argo/user/www/seller_shop_info is not writable by > user1) > because when dropping external table,hive doesnot delete hdfs path,so hive > metastore should not check the hdfs write permission -- This message was sent by Atlassian JIRA (v6.3.4#6332)