You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
since now everything is ok I can create table with gjjddatateam account
I didn't exit terminal
presto:default>drop table if exists tmp_gjjd.orders_by_date;
Query 20180126_030443_00251_xjv5c failed: The transaction didn't commit cleanly. Failed to execute some metastore delete operations: drop table tmp_gjjd.orders_by_date
I got this exception:
com.facebook.presto.spi.PrestoException: The transaction didn't commit cleanly. Failed to execute some metastore delete operations: drop table tmp_gjjd.uid00012
at com.facebook.presto.hive.metastore.SemiTransactionalHiveMetastore$Committer.executeIrreversibleMetastoreOperations(SemiTransactionalHiveMetastore.java:1219)
at com.facebook.presto.hive.metastore.SemiTransactionalHiveMetastore$Committer.access$2100(SemiTransactionalHiveMetastore.java:887)
at com.facebook.presto.hive.metastore.SemiTransactionalHiveMetastore.commitShared(SemiTransactionalHiveMetastore.java:865)
at com.facebook.presto.hive.metastore.SemiTransactionalHiveMetastore.commit(SemiTransactionalHiveMetastore.java:739)
at com.facebook.presto.hive.HiveMetadata.commit(HiveMetadata.java:1503)
at com.facebook.presto.hive.HiveConnector.commit(HiveConnector.java:177)
at com.facebook.presto.transaction.TransactionManager$TransactionMetadata$ConnectorTransactionMetadata.commit(TransactionManager.java:577)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at com.google.common.util.concurrent.TrustedListenableFutureTask$TrustedFutureInterruptibleTask.runInterruptibly(TrustedListenableFutureTask.java:111)
at com.google.common.util.concurrent.InterruptibleTask.run(InterruptibleTask.java:58)
at com.google.common.util.concurrent.TrustedListenableFutureTask.run(TrustedListenableFutureTask.java:75)
at io.airlift.concurrent.BoundedExecutor.drainQueue(BoundedExecutor.java:78)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Suppressed: com.facebook.presto.spi.PrestoException: Table metadata not deleted since hdfs://ns/user/hive/warehouse/tmp_gjjd.db is not writable by [email protected]
at com.facebook.presto.hive.metastore.thrift.ThriftHiveMetastore.dropTable(ThriftHiveMetastore.java:426)
at com.facebook.presto.hive.metastore.thrift.BridgingHiveMetastore.dropTable(BridgingHiveMetastore.java:156)
at com.facebook.presto.hive.metastore.CachingHiveMetastore.dropTable(CachingHiveMetastore.java:438)
at com.facebook.presto.hive.metastore.CachingHiveMetastore.dropTable(CachingHiveMetastore.java:438)
at com.facebook.presto.hive.metastore.SemiTransactionalHiveMetastore$Committer.lambda$prepareDropTable$0(SemiTransactionalHiveMetastore.java:909)
at com.facebook.presto.hive.metastore.SemiTransactionalHiveMetastore$IrreversibleMetastoreOperation.run(SemiTransactionalHiveMetastore.java:2039)
at com.facebook.presto.hive.metastore.SemiTransactionalHiveMetastore$Committer.executeIrreversibleMetastoreOperations(SemiTransactionalHiveMetastore.java:1206)
... 14 more
Caused by: org.apache.hadoop.hive.metastore.api.MetaException: Table metadata not deleted since hdfs://ns/user/hive/warehouse/tmp_gjjd.db is not writable by [email protected]
at org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore$drop_table_result$drop_table_resultStandardScheme.read(ThriftHiveMetastore.java:31054)
at org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore$drop_table_result$drop_table_resultStandardScheme.read(ThriftHiveMetastore.java:31031)
at org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore$drop_table_result.read(ThriftHiveMetastore.java:30973)
at org.apache.thrift.TServiceClient.receiveBase(TServiceClient.java:78)
at org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore$Client.recv_drop_table(ThriftHiveMetastore.java:1109)
at org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore$Client.drop_table(ThriftHiveMetastore.java:1094)
at com.facebook.presto.hive.metastore.thrift.ThriftHiveMetastoreClient.dropTable(ThriftHiveMetastoreClient.java:123)
at com.facebook.presto.hive.metastore.thrift.ThriftHiveMetastore.lambda$dropTable$14(ThriftHiveMetastore.java:417)
at com.facebook.presto.hive.metastore.thrift.HiveMetastoreApiStats.lambda$wrap$0(HiveMetastoreApiStats.java:42)
at com.facebook.presto.hive.RetryDriver.run(RetryDriver.java:137)
at com.facebook.presto.hive.metastore.thrift.ThriftHiveMetastore.dropTable(ThriftHiveMetastore.java:415)
... 20 more
That happens because party responsible for deleting table files from HDFS on DROP TABLE is Hive Metastore (not Presto itself).
Currently Presto does not support impersonating of end user for Hive metastore connection.
And HDFS operations performed on HDFS by Hive metastore are done on behalf of service user used for connecting to Metastore by Presto ([email protected] in your case). And that user does not have permissions to delete this table files.
sopel39
changed the title
drop table throw exception
drop table throws exception
Jan 26, 2018
when I use presto-cli
since now everything is ok I can create table with gjjddatateam account
I didn't exit terminal
from hdfs side.
I thinks there must be a bug, since I can create table with gjjddatateam account in kerberos model why I can not drop table
by the way in hive.properties I have conf
hive.hdfs.impersonation.enabled=true
The text was updated successfully, but these errors were encountered: