You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hive.apache.org by "chuanjie.duan (JIRA)" <ji...@apache.org> on 2017/09/05 09:59:00 UTC

[jira] [Commented] (HIVE-13090) Hive metastore crashes on NPE with ZooKeeperTokenStore

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

chuanjie.duan commented on HIVE-13090:
--------------------------------------

I just apply the patch on hive1.2.1, but TTransportException: DIGEST-MD5: IO error acquiring password always print in log while I closing beeline client. How about catching and logging it as a warning log instand of just throw it . (catch the InvalidToken Exception in HadoopThriftAuthBridge.Server.TUGIAssumingProcessor.process()) 
2017-09-01 16:35:46,859 ERROR [pool-3-thread-6]: transport.TSaslTransport (TSaslTransport.java:open(315)) - SASL negotiation failure
javax.security.sasl.SaslException: DIGEST-MD5: IO error acquiring password [Caused by org.apache.hadoop.security.token.SecretManager$InvalidToken: token expired or does not exist: owner=xx, renewer=xx, realUser=hive/xxxxxx@xxxxx.COM, issueDate=1504254940782, maxDate=1504859740782, sequenceNumber=1, masterKeyId=12]
        at com.sun.security.sasl.digest.DigestMD5Server.validateClientResponse(DigestMD5Server.java:594)
        at com.sun.security.sasl.digest.DigestMD5Server.evaluateResponse(DigestMD5Server.java:244)
        at org.apache.thrift.transport.TSaslTransport$SaslParticipant.evaluateChallengeOrResponse(TSaslTransport.java:539)
        at org.apache.thrift.transport.TSaslTransport.open(TSaslTransport.java:283)
        at org.apache.thrift.transport.TSaslServerTransport.open(TSaslServerTransport.java:41)
        at org.apache.thrift.transport.TSaslServerTransport$Factory.getTransport(TSaslServerTransport.java:216)
        at org.apache.hadoop.hive.thrift.HadoopThriftAuthBridge$Server$TUGIAssumingTransportFactory$1.run(HadoopThriftAuthBridge.java:739)
        at org.apache.hadoop.hive.thrift.HadoopThriftAuthBridge$Server$TUGIAssumingTransportFactory$1.run(HadoopThriftAuthBridge.java:736)
        at java.security.AccessController.doPrivileged(Native Method)
        at javax.security.auth.Subject.doAs(Subject.java:356)
        at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1608)
        at org.apache.hadoop.hive.thrift.HadoopThriftAuthBridge$Server$TUGIAssumingTransportFactory.getTransport(HadoopThriftAuthBridge.java:736)
        at org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:268)
        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: org.apache.hadoop.security.token.SecretManager$InvalidToken: token expired or does not exist: owner=xxx, renewer=xxx, realUser=hive/xxxx@xxxxx.COM, issueDate=1504254940782, maxDate=1504859740782, sequenceNumber=1, masterKeyId=12
        at org.apache.hadoop.hive.thrift.TokenStoreDelegationTokenSecretManager.retrievePassword(TokenStoreDelegationTokenSecretManager.java:114)
        at org.apache.hadoop.hive.thrift.TokenStoreDelegationTokenSecretManager.retrievePassword(TokenStoreDelegationTokenSecretManager.java:56)
        at org.apache.hadoop.hive.thrift.HadoopThriftAuthBridge$Server$SaslDigestCallbackHandler.getPassword(HadoopThriftAuthBridge.java:565)
        at org.apache.hadoop.hive.thrift.HadoopThriftAuthBridge$Server$SaslDigestCallbackHandler.handle(HadoopThriftAuthBridge.java:596)
        at com.sun.security.sasl.digest.DigestMD5Server.validateClientResponse(DigestMD5Server.java:585)
        ... 15 more

> Hive metastore crashes on NPE with ZooKeeperTokenStore
> ------------------------------------------------------
>
>                 Key: HIVE-13090
>                 URL: https://issues.apache.org/jira/browse/HIVE-13090
>             Project: Hive
>          Issue Type: Bug
>          Components: Metastore, Security
>    Affects Versions: 1.0.0, 1.1.1, 1.2.1
>            Reporter: Thejas M Nair
>            Assignee: Piotr Wikieł
>             Fix For: 1.3.0, 2.0.1, 2.1.0
>
>         Attachments: HIVE-13090.1.patch
>
>
> Observed that hive metastore shutdown with NPE from ZookeeperTokenStore.
> {code}
> INFO  [pool-5-thread-192]: metastore.HiveMetaStore (HiveMetaStore.java:logInfo(714)) - 191: Metastore shutdown complete.
>  INFO  [pool-5-thread-192]: HiveMetaStore.audit (HiveMetaStore.java:logAuditEvent(340)) - ugi=cvdpqap	ip=/19.1.2.129	cmd=Metastore shutdown complete.	
>  ERROR [Thread[Thread-6,5,main]]: thrift.TokenStoreDelegationTokenSecretManager (TokenStoreDelegationTokenSecretManager.java:run(331)) - ExpiredTokenRemover thread received unexpected exception. org.apache.hadoop.hive.thrift.DelegationTokenStore$TokenStoreException: Failed to decode token
> org.apache.hadoop.hive.thrift.DelegationTokenStore$TokenStoreException: Failed to decode token
> 	at org.apache.hadoop.hive.thrift.ZooKeeperTokenStore.getToken(ZooKeeperTokenStore.java:401)
> 	at org.apache.hadoop.hive.thrift.TokenStoreDelegationTokenSecretManager.removeExpiredTokens(TokenStoreDelegationTokenSecretManager.java:256)
> 	at org.apache.hadoop.hive.thrift.TokenStoreDelegationTokenSecretManager$ExpiredTokenRemover.run(TokenStoreDelegationTokenSecretManager.java:319)
> 	at java.lang.Thread.run(Thread.java:744)
> Caused by: java.lang.NullPointerException
> 	at java.io.ByteArrayInputStream.<init>(ByteArrayInputStream.java:106)
> 	at org.apache.hadoop.security.token.delegation.HiveDelegationTokenSupport.decodeDelegationTokenInformation(HiveDelegationTokenSupport.java:53)
> 	at org.apache.hadoop.hive.thrift.ZooKeeperTokenStore.getToken(ZooKeeperTokenStore.java:399)
> 	... 3 more
>  INFO  [Thread-3]: metastore.HiveMetaStore (HiveMetaStore.java:run(5639)) - Shutting down hive metastore.
> {code}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)