You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-issues@hadoop.apache.org by "Santhosh G Nayak (JIRA)" <ji...@apache.org> on 2017/04/28 06:19:04 UTC

[jira] [Updated] (HADOOP-14361) Azure: NativeAzureFileSystem.getDelegationToken() call fails sometimes when invoked concurrently

     [ https://issues.apache.org/jira/browse/HADOOP-14361?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Santhosh G Nayak updated HADOOP-14361:
--------------------------------------
    Attachment: HADOOP-14361.1.patch

Currently, {{NativeAzureFileSystem.getDelegationToken()}} method uses {{DelegationTokenAuthenticatedURL.getDelegationToken()}} to get the delegation token from the remote delegation token service protected by Kerberos over HTTP and it is not thread safe.  

Attached a patch containing the fix where {{NatieAzureFileSystem.getDelegationToken()}} method is marked as {{synchronized}}.

> Azure: NativeAzureFileSystem.getDelegationToken() call fails sometimes when invoked concurrently
> ------------------------------------------------------------------------------------------------
>
>                 Key: HADOOP-14361
>                 URL: https://issues.apache.org/jira/browse/HADOOP-14361
>             Project: Hadoop Common
>          Issue Type: Bug
>          Components: fs/azure
>    Affects Versions: 2.9.0
>            Reporter: Santhosh G Nayak
>            Assignee: Santhosh G Nayak
>         Attachments: HADOOP-14361.1.patch
>
>
> Sometimes {{NativeAzureFileSystem.getDelegationToken()}} method fails with below exception when invoked concurrently,
> {code}Caused by: org.apache.hadoop.security.authentication.client.AuthenticationException: Authentication failed, URL: http://delegationtokenmanger/?op=GETDELEGATIONTOKEN&renewer=rm%2Fhostname%40realm, status: 401, message: Authentication required
> 	at org.apache.hadoop.security.authentication.client.AuthenticatedURL.extractToken(AuthenticatedURL.java:278)
> 	at org.apache.hadoop.security.authentication.client.KerberosAuthenticator.authenticate(KerberosAuthenticator.java:195)
> 	at org.apache.hadoop.security.token.delegation.web.DelegationTokenAuthenticator.authenticate(DelegationTokenAuthenticator.java:132)
> 	at org.apache.hadoop.security.authentication.client.AuthenticatedURL.openConnection(AuthenticatedURL.java:216)
> 	at org.apache.hadoop.security.token.delegation.web.DelegationTokenAuthenticator.doDelegationTokenOperation(DelegationTokenAuthenticator.java:298)
> 	at org.apache.hadoop.security.token.delegation.web.DelegationTokenAuthenticator.getDelegationToken(DelegationTokenAuthenticator.java:170)
> 	at org.apache.hadoop.security.token.delegation.web.DelegationTokenAuthenticatedURL.getDelegationToken(DelegationTokenAuthenticatedURL.java:371)
> 	at org.apache.hadoop.fs.azure.NativeAzureFileSystem$2.run(NativeAzureFileSystem.java:2993)
> 	at org.apache.hadoop.fs.azure.NativeAzureFileSystem$2.run(NativeAzureFileSystem.java:2990)
> 	at java.security.AccessController.doPrivileged(Native Method)
> 	at javax.security.auth.Subject.doAs(Subject.java:422)
> 	at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1866)
> 	... 29 more
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

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