Sravya Tirukkovalur created SENTRY-329:
------------------------------------------

             Summary: Alter table rename fails when we enable data objects and 
privileges syncing via hive meta store
                 Key: SENTRY-329
                 URL: https://issues.apache.org/jira/browse/SENTRY-329
             Project: Sentry
          Issue Type: Bug
    Affects Versions: 1.3.0
            Reporter: Sravya Tirukkovalur
            Assignee: Prasad Mujumdar
             Fix For: 1.3.0


{noformat}
alter table tb1 rename to tb2;
Error: Error while processing statement: FAILED: Execution Error, return code 1 
from org.apache.hadoop.hive.ql.exec.DDLTask. Unable to alter table. 
(state=08S01,code=1)

{noformat}

Here is the HS2 log snippet:

{noformat}
org.apache.hadoop.hive.ql.metadata.HiveException: Unable to alter table.
        at org.apache.hadoop.hive.ql.metadata.Hive.alterTable(Hive.java:390)
        at org.apache.hadoop.hive.ql.exec.DDLTask.alterTable(DDLTask.java:3212)
        at org.apache.hadoop.hive.ql.exec.DDLTask.execute(DDLTask.java:282)
        at org.apache.hadoop.hive.ql.exec.Task.executeTask(Task.java:151)
        at 
org.apache.hadoop.hive.ql.exec.TaskRunner.runSequential(TaskRunner.java:65)
        at org.apache.hadoop.hive.ql.Driver.launchTask(Driver.java:1485)
        at org.apache.hadoop.hive.ql.Driver.execute(Driver.java:1263)
        at org.apache.hadoop.hive.ql.Driver.runInternal(Driver.java:1091)
        at org.apache.hadoop.hive.ql.Driver.run(Driver.java:931)
        at org.apache.hadoop.hive.ql.Driver.run(Driver.java:926)
        at 
org.apache.hive.service.cli.operation.SQLOperation.runInternal(SQLOperation.java:144)
        at 
org.apache.hive.service.cli.operation.SQLOperation.run(SQLOperation.java:165)
        at 
org.apache.hive.service.cli.session.HiveSessionImpl.runOperationWithLogCapture(HiveSessionImpl.java:514)
        at 
org.apache.hive.service.cli.session.HiveSessionImpl.executeStatementInternal(HiveSessionImpl.java:222)
        at 
org.apache.hive.service.cli.session.HiveSessionImpl.executeStatement(HiveSessionImpl.java:204)
        at 
org.apache.hive.service.cli.CLIService.executeStatement(CLIService.java:168)
        at 
org.apache.hive.service.cli.thrift.ThriftCLIService.ExecuteStatement(ThriftCLIService.java:316)
        at 
org.apache.hive.service.cli.thrift.TCLIService$Processor$ExecuteStatement.getResult(TCLIService.java:1373)
        at 
org.apache.hive.service.cli.thrift.TCLIService$Processor$ExecuteStatement.getResult(TCLIService.java:1358)
        at org.apache.thrift.ProcessFunction.process(ProcessFunction.java:39)
        at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:39)
        at 
org.apache.hadoop.hive.thrift.HadoopThriftAuthBridge20S$Server$TUGIAssumingProcessor.process(HadoopThriftAuthBridge20S.java:608)
        at 
org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:244)
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at java.lang.Thread.run(Thread.java:745)
Caused by: MetaException(message:java.lang.RuntimeException: Unknown error for 
request: TRenamePrivilegesRequest(protocol_version:1, requestorUserName:hive, 
oldAuthorizable:TSentryAuthorizable(server:server1, db:db1, table:tb1), 
newAuthorizable:TSentryAuthorizable(server:server1, db:db1, table:tb2)), 
message: Failed to get privileges: Insert of object 
"org.apache.sentry.provider.db.service.model.MSentryPrivilege@7328027c" using 
statement "INSERT INTO `SENTRY_DB_PRIVILEGE` 
(`DB_PRIVILEGE_ID`,`DB_NAME`,`PRIVILEGE_NAME`,`TABLE_NAME`,`ACTION`,`GRANTOR_PRINCIPAL`,`PRIVILEGE_SCOPE`,`SERVER_NAME`,`URI`,`CREATE_TIME`)
 VALUES (?,?,?,?,?,?,?,?,?,?)" failed : Column 'GRANTOR_PRINCIPAL' cannot be 
null. Server Stacktrace: 
org.apache.sentry.provider.db.SentryInvalidInputException: Failed to get 
privileges: Insert of object 
"org.apache.sentry.provider.db.service.model.MSentryPrivilege@7328027c" using 
statement "INSERT INTO `SENTRY_DB_PRIVILEGE` 
(`DB_PRIVILEGE_ID`,`DB_NAME`,`PRIVILEGE_NAME`,`TABLE_NAME`,`ACTION`,`GRANTOR_PRINCIPAL`,`PRIVILEGE_SCOPE`,`SERVER_NAME`,`URI`,`CREATE_TIME`)
 VALUES (?,?,?,?,?,?,?,?,?,?)" failed : Column 'GRANTOR_PRINCIPAL' cannot be 
null
        at 
org.apache.sentry.provider.db.service.persistent.SentryStore.renamePrivilege(SentryStore.java:1268)
        at 
org.apache.sentry.provider.db.service.thrift.SentryPolicyStoreProcessor.rename_sentry_privilege(SentryPolicyStoreProcessor.java:479)
        at 
org.apache.sentry.provider.db.service.thrift.SentryPolicyService$Processor$rename_sentry_privilege.getResult(SentryPolicyService.java:973)
        at 
org.apache.sentry.provider.db.service.thrift.SentryPolicyService$Processor$rename_sentry_privilege.getResult(SentryPolicyService.java:958)
        at 
sentry.org.apache.thrift.ProcessFunction.process(ProcessFunction.java:39)
        at 
sentry.org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:39)
        at 
sentry.org.apache.thrift.TMultiplexedProcessor.process(TMultiplexedProcessor.java:123)
        at 
sentry.org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:244)
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at java.lang.Thread.run(Thread.java:745)
)
        at 
org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore$alter_table_with_environment_context_result$alter_table_with_environment_context_resultStandardScheme.read(ThriftHiveMetastore.java:31958)
        at 
org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore$alter_table_with_environment_context_result$alter_table_with_environment_context_resultStandardScheme.read(ThriftHiveMetastore.java:31935)
        at 
org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore$alter_table_with_environment_context_result.read(ThriftHiveMetastore.java:31877)
        at org.apache.thrift.TServiceClient.receiveBase(TServiceClient.java:78)
        at 
org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore$Client.recv_alter_table_with_environment_context(ThriftHiveMetastore.java:1067)
        at 
org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore$Client.alter_table_with_environment_context(ThriftHiveMetastore.java:1051)
        at 
org.apache.hadoop.hive.metastore.HiveMetaStoreClient.alter_table(HiveMetaStoreClient.java:228)
        at 
org.apache.hadoop.hive.metastore.HiveMetaStoreClient.alter_table(HiveMetaStoreClient.java:223)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:606)
        at 
org.apache.hadoop.hive.metastore.RetryingMetaStoreClient.invoke(RetryingMetaStoreClient.java:89)
        at com.sun.proxy.$Proxy12.alter_table(Unknown Source)
        at org.apache.hadoop.hive.ql.metadata.Hive.alterTable(Hive.java:388)
        ... 25 more
{noformat}




--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to