You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues-all@impala.apache.org by "ASF subversion and git services (JIRA)" <ji...@apache.org> on 2018/08/21 21:39:00 UTC

[jira] [Commented] (IMPALA-6878) SentryServicePinger should not print stacktrace at every retry

    [ https://issues.apache.org/jira/browse/IMPALA-6878?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16588037#comment-16588037 ] 

ASF subversion and git services commented on IMPALA-6878:
---------------------------------------------------------

Commit f849eff42134e7d11311acaf834d20ddceefeb60 in impala's branch refs/heads/master from [~fredyw]
[ https://git-wip-us.apache.org/repos/asf?p=impala.git;h=f849eff ]

IMPALA-7470: SentryServicePinger logs error messages on success

SentryServicePinger checks if Sentry is running by calling a Sentry API
to get a list of roles. If Sentry is not yet running, an exception will
be thrown. However, the Sentry client implementation will log some error
messages when an exception is thrown. For the purpose of SentryServicePinger,
this can be too noisy and verbose and may also confuse other developers
into thinking it was a failure when starting Sentry. The log messages
were muted in IMPALA-6878, however since Impala no longer uses the
shaded version of Sentry client in IMPALA-7423, the patch in IMPALA-6878
no longer worked. This patch fixes the muting of Sentry error messages by
turning off the log level using the non-shaded version of Sentry Thrift
client.

Testing:
- Manually tested by starting Sentry and did not see any error messages
  logged into stdout.

Change-Id: I75782d23c1cb67564a9265bf3cc94fd590c7b666
Reviewed-on: http://gerrit.cloudera.org:8080/11281
Reviewed-by: Impala Public Jenkins <im...@cloudera.com>
Tested-by: Impala Public Jenkins <im...@cloudera.com>


> SentryServicePinger should not print stacktrace at every retry
> --------------------------------------------------------------
>
>                 Key: IMPALA-6878
>                 URL: https://issues.apache.org/jira/browse/IMPALA-6878
>             Project: IMPALA
>          Issue Type: Improvement
>          Components: Infrastructure
>    Affects Versions: Impala 3.0, Impala 2.12.0
>            Reporter: Fredy Wijaya
>            Assignee: Fredy Wijaya
>            Priority: Minor
>             Fix For: Impala 3.0, Impala 2.12.0
>
>
> The stack trace looks like this and is misleading as to whether the service started successfully or not:
> {code:java}
> 18/04/18 12:03:23 INFO transport.SentryTransportPool: Creating pool for localhost with default port 30911
> 18/04/18 12:03:23 INFO transport.SentryTransportPool: Adding endpoint localhost:30911
> 18/04/18 12:03:23 INFO transport.SentryTransportPool: Connection pooling is enabled
> 18/04/18 12:03:23 ERROR transport.SentryTransportPool: Failed to obtain transport for localhost:30911: java.net.ConnectException: Connection refused (Connection refused)
> 18/04/18 12:03:23 ERROR transport.RetryClientInvocationHandler: Failed to connect
> sentry.org.apache.thrift.transport.TTransportException: java.net.ConnectException: Connection refused (Connection refused)
> 	at sentry.org.apache.thrift.transport.TSocket.open(TSocket.java:226)
> 	at sentry.org.apache.sentry.core.common.transport.SentryTransportFactory.connectToServer(SentryTransportFactory.java:99)
> 	at sentry.org.apache.sentry.core.common.transport.SentryTransportFactory.getTransport(SentryTransportFactory.java:86)
> 	at sentry.org.apache.sentry.core.common.transport.SentryTransportPool$PoolFactory.create(SentryTransportPool.java:302)
> 	at sentry.org.apache.sentry.core.common.transport.SentryTransportPool$PoolFactory.create(SentryTransportPool.java:271)
> 	at org.apache.commons.pool2.BaseKeyedPooledObjectFactory.makeObject(BaseKeyedPooledObjectFactory.java:62)
> 	at org.apache.commons.pool2.impl.GenericKeyedObjectPool.create(GenericKeyedObjectPool.java:1041)
> 	at org.apache.commons.pool2.impl.GenericKeyedObjectPool.borrowObject(GenericKeyedObjectPool.java:380)
> 	at org.apache.commons.pool2.impl.GenericKeyedObjectPool.borrowObject(GenericKeyedObjectPool.java:279)
> 	at sentry.org.apache.sentry.core.common.transport.SentryTransportPool.getTransport(SentryTransportPool.java:183)
> 	at org.apache.sentry.provider.db.service.thrift.SentryPolicyServiceClientDefaultImpl.connect(SentryPolicyServiceClientDefaultImpl.java:90)
> 	at sentry.org.apache.sentry.core.common.transport.RetryClientInvocationHandler.connect(RetryClientInvocationHandler.java:141)
> 	at sentry.org.apache.sentry.core.common.transport.RetryClientInvocationHandler.invokeImpl(RetryClientInvocationHandler.java:90)
> 	at sentry.org.apache.sentry.core.common.transport.SentryClientInvocationHandler.invoke(SentryClientInvocationHandler.java:41)
> 	at com.sun.proxy.$Proxy5.listAllRoles(Unknown Source)
> 	at org.apache.impala.util.SentryUtil.listRoles(SentryUtil.java:52)
> 	at org.apache.impala.util.SentryPolicyService.listAllRoles(SentryPolicyService.java:398)
> 	at org.apache.impala.testutil.SentryServicePinger.main(SentryServicePinger.java:75)
> Caused by: java.net.ConnectException: Connection refused (Connection refused)
> 	at java.net.PlainSocketImpl.socketConnect(Native Method)
> 	at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
> 	at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
> 	at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
> 	at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
> 	at java.net.Socket.connect(Socket.java:589)
> 	at sentry.org.apache.thrift.transport.TSocket.open(TSocket.java:221)
> 	... 17 more
> 18/04/18 12:03:26 ERROR transport.SentryTransportPool: Failed to obtain transport for localhost:30911: java.net.ConnectException: Connection refused (Connection refused)
> 18/04/18 12:03:26 ERROR transport.RetryClientInvocationHandler: Failed to connect
> sentry.org.apache.thrift.transport.TTransportException: java.net.ConnectException: Connection refused (Connection refused)
> 	at sentry.org.apache.thrift.transport.TSocket.open(TSocket.java:226)
> 	at sentry.org.apache.sentry.core.common.transport.SentryTransportFactory.connectToServer(SentryTransportFactory.java:99)
> 	at sentry.org.apache.sentry.core.common.transport.SentryTransportFactory.getTransport(SentryTransportFactory.java:86)
> 	at sentry.org.apache.sentry.core.common.transport.SentryTransportPool$PoolFactory.create(SentryTransportPool.java:302)
> 	at sentry.org.apache.sentry.core.common.transport.SentryTransportPool$PoolFactory.create(SentryTransportPool.java:271)
> 	at org.apache.commons.pool2.BaseKeyedPooledObjectFactory.makeObject(BaseKeyedPooledObjectFactory.java:62)
> 	at org.apache.commons.pool2.impl.GenericKeyedObjectPool.create(GenericKeyedObjectPool.java:1041)
> 	at org.apache.commons.pool2.impl.GenericKeyedObjectPool.borrowObject(GenericKeyedObjectPool.java:380)
> 	at org.apache.commons.pool2.impl.GenericKeyedObjectPool.borrowObject(GenericKeyedObjectPool.java:279)
> 	at sentry.org.apache.sentry.core.common.transport.SentryTransportPool.getTransport(SentryTransportPool.java:183)
> 	at org.apache.sentry.provider.db.service.thrift.SentryPolicyServiceClientDefaultImpl.connect(SentryPolicyServiceClientDefaultImpl.java:90)
> 	at sentry.org.apache.sentry.core.common.transport.RetryClientInvocationHandler.connect(RetryClientInvocationHandler.java:141)
> 	at sentry.org.apache.sentry.core.common.transport.RetryClientInvocationHandler.invokeImpl(RetryClientInvocationHandler.java:90)
> 	at sentry.org.apache.sentry.core.common.transport.SentryClientInvocationHandler.invoke(SentryClientInvocationHandler.java:41)
> 	at com.sun.proxy.$Proxy5.listAllRoles(Unknown Source)
> 	at org.apache.impala.util.SentryUtil.listRoles(SentryUtil.java:52)
> 	at org.apache.impala.util.SentryPolicyService.listAllRoles(SentryPolicyService.java:398)
> 	at org.apache.impala.testutil.SentryServicePinger.main(SentryServicePinger.java:75)
> Caused by: java.net.ConnectException: Connection refused (Connection refused)
> 	at java.net.PlainSocketImpl.socketConnect(Native Method)
> 	at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
> 	at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
> 	at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
> 	at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
> 	at java.net.Socket.connect(Socket.java:589)
> 	at sentry.org.apache.thrift.transport.TSocket.open(TSocket.java:221)
> 	... 17 more
> 18/04/18 12:03:29 ERROR transport.SentryTransportPool: Failed to obtain transport for localhost:30911: java.net.ConnectException: Connection refused (Connection refused)
> 18/04/18 12:03:29 ERROR transport.RetryClientInvocationHandler: Failed to connect
> sentry.org.apache.thrift.transport.TTransportException: java.net.ConnectException: Connection refused (Connection refused)
> 	at sentry.org.apache.thrift.transport.TSocket.open(TSocket.java:226)
> 	at sentry.org.apache.sentry.core.common.transport.SentryTransportFactory.connectToServer(SentryTransportFactory.java:99)
> 	at sentry.org.apache.sentry.core.common.transport.SentryTransportFactory.getTransport(SentryTransportFactory.java:86)
> 	at sentry.org.apache.sentry.core.common.transport.SentryTransportPool$PoolFactory.create(SentryTransportPool.java:302)
> 	at sentry.org.apache.sentry.core.common.transport.SentryTransportPool$PoolFactory.create(SentryTransportPool.java:271)
> 	at org.apache.commons.pool2.BaseKeyedPooledObjectFactory.makeObject(BaseKeyedPooledObjectFactory.java:62)
> 	at org.apache.commons.pool2.impl.GenericKeyedObjectPool.create(GenericKeyedObjectPool.java:1041)
> 	at org.apache.commons.pool2.impl.GenericKeyedObjectPool.borrowObject(GenericKeyedObjectPool.java:380)
> 	at org.apache.commons.pool2.impl.GenericKeyedObjectPool.borrowObject(GenericKeyedObjectPool.java:279)
> 	at sentry.org.apache.sentry.core.common.transport.SentryTransportPool.getTransport(SentryTransportPool.java:183)
> 	at org.apache.sentry.provider.db.service.thrift.SentryPolicyServiceClientDefaultImpl.connect(SentryPolicyServiceClientDefaultImpl.java:90)
> 	at sentry.org.apache.sentry.core.common.transport.RetryClientInvocationHandler.connect(RetryClientInvocationHandler.java:141)
> 	at sentry.org.apache.sentry.core.common.transport.RetryClientInvocationHandler.invokeImpl(RetryClientInvocationHandler.java:90)
> 	at sentry.org.apache.sentry.core.common.transport.SentryClientInvocationHandler.invoke(SentryClientInvocationHandler.java:41)
> 	at com.sun.proxy.$Proxy5.listAllRoles(Unknown Source)
> 	at org.apache.impala.util.SentryUtil.listRoles(SentryUtil.java:52)
> 	at org.apache.impala.util.SentryPolicyService.listAllRoles(SentryPolicyService.java:398)
> 	at org.apache.impala.testutil.SentryServicePinger.main(SentryServicePinger.java:75)
> Caused by: java.net.ConnectException: Connection refused (Connection refused)
> 	at java.net.PlainSocketImpl.socketConnect(Native Method)
> 	at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
> 	at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
> 	at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
> 	at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
> 	at java.net.Socket.connect(Socket.java:589)
> 	at sentry.org.apache.thrift.transport.TSocket.open(TSocket.java:221)
> 	... 17 more
> 18/04/18 12:03:32 INFO testutil.SentryServicePinger: Sentry Service ping succeeded.
> {code}



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

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-all-unsubscribe@impala.apache.org
For additional commands, e-mail: issues-all-help@impala.apache.org