You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@impala.apache.org by "Mostafa Mokhtar (JIRA)" <ji...@apache.org> on 2018/03/30 00:02:00 UTC

[jira] [Created] (IMPALA-6770) Catalog service should retry connecting to Sentry similar to HMS

Mostafa Mokhtar created IMPALA-6770:
---------------------------------------

             Summary: Catalog service should retry connecting to Sentry similar to HMS
                 Key: IMPALA-6770
                 URL: https://issues.apache.org/jira/browse/IMPALA-6770
             Project: IMPALA
          Issue Type: Improvement
          Components: Catalog
    Affects Versions: Impala 2.12.0
            Reporter: Mostafa Mokhtar


If the Catalog service fails to connect to Sentry at startup it doesn't retry, if the Sentry service becomes available later on the Catalog needs a restart to connect.

{code}
0329 12:08:21.547955 128362 RetryClientInvocationHandler.java:99] failed to execute listRoles
Java exception follows:
java.lang.reflect.InvocationTargetException
	at sun.reflect.GeneratedMethodAccessor12.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at sentry.org.apache.sentry.core.common.transport.RetryClientInvocationHandler.invokeImpl(RetryClientInvocationHandler.java:95)
	at sentry.org.apache.sentry.core.common.transport.SentryClientInvocationHandler.invoke(SentryClientInvocationHandler.java:41)
	at com.sun.proxy.$Proxy14.listRoles(Unknown Source)
	at org.apache.impala.util.SentryPolicyService.listAllRoles(SentryPolicyService.java:393)
	at org.apache.impala.util.SentryProxy.checkUserSentryAdmin(SentryProxy.java:215)
	at org.apache.impala.service.JniCatalog.checkUserSentryAdmin(JniCatalog.java:259)
Caused by: org.apache.sentry.provider.db.SentryAccessDeniedException: Access denied to foo. Server Stacktrace: org.apache.sentry.provider.db.SentryAccessDeniedException: Access denied to foo
	at org.apache.sentry.provider.db.service.thrift.SentryPolicyStoreProcessor.list_sentry_roles_by_group(SentryPolicyStoreProcessor.java:581)
	at org.apache.sentry.provider.db.service.thrift.SentryPolicyService$Processor$list_sentry_roles_by_group.getResult(SentryPolicyService.java:1077)
	at org.apache.sentry.provider.db.service.thrift.SentryPolicyService$Processor$list_sentry_roles_by_group.getResult(SentryPolicyService.java:1062)
	at org.apache.thrift.ProcessFunction.process(ProcessFunction.java:39)
	at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:39)
	at org.apache.sentry.provider.db.service.thrift.SentryProcessorWrapper.process(SentryProcessorWrapper.java:36)
	at org.apache.thrift.TMultiplexedProcessor.process(TMultiplexedProcessor.java:123)
	at org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:286)
	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)

	at org.apache.sentry.service.thrift.Status.throwIfNotOk(Status.java:113)
	at org.apache.sentry.provider.db.service.thrift.SentryPolicyServiceClientDefaultImpl.listRolesByGroupName(SentryPolicyServiceClientDefaultImpl.java:161)
	at org.apache.sentry.provider.db.service.thrift.SentryPolicyServiceClientDefaultImpl.listRoles(SentryPolicyServiceClientDefaultImpl.java:207)
	... 9 more
I0329 12:08:21.549322 128362 jni-util.cc:230] org.apache.impala.catalog.AuthorizationException: User 'foo@foo.COM' does not have privileges to access the requested policy metadata or Sentry Service is unavailable.
	at org.apache.impala.util.SentryProxy.checkUserSentryAdmin(SentryProxy.java:217)
	at org.apache.impala.service.JniCatalog.checkUserSentryAdmin(JniCatalog.java:259)
I0329 12:08:21.559258 128362 status.cc:125] AuthorizationException: User 'foo@foo.COM' does not have privileges to access the requested policy metadata or Sentry Service is unavailable.
    @           0x965c1a  impala::Status::Status()
    @           0xcec82d  impala::JniUtil::GetJniExceptionMsg()
    @           0x956afd  impala::Catalog::SentryAdminCheck()
    @           0x9490dc  CatalogServiceThriftIf::SentryAdminCheck()
    @           0x9fb17e  impala::CatalogServiceProcessor::process_SentryAdminCheck()
    @           0x9fa3ff  impala::CatalogServiceProcessor::dispatchCall()
    @           0x933a0a  apache::thrift::TDispatchProcessor::process()
    @           0xb17949  apache::thrift::server::TAcceptQueueServer::Task::run()
    @           0xb100c9  impala::ThriftThread::RunRunnable()
    @           0xb10ec2  boost::detail::function::void_function_obj_invoker0<>::invoke()
    @           0xd5f40f  impala::Thread::SuperviseThread()
    @           0xd5fc0a  boost::detail::thread_data<>::run()
    @          0x12d64fa  (unknown)
    @     0x7f3027e34dc5  start_thread
    @     0x7f3027b61ced  __clone
E0329 12:08:21.559299 128362 catalog-server.cc:145] AuthorizationException: User 'foo@foo.COM' does not have privileges to access the requested policy metadata or Sentry Service is unavailable.
{code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)