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 "Daryn Sharp (JIRA)" <ji...@apache.org> on 2013/08/09 18:54:48 UTC

[jira] [Updated] (HADOOP-9856) Avoid Krb5LoginModule.logout issue

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

Daryn Sharp updated HADOOP-9856:
--------------------------------

    Attachment: HADOOP-9856.patch

Relogin from ticket cache and keytab now synch on {{Subject#getPrivateCredentials}}.

Change requires functioning kerberos so unable to add tests at this time.
                
> Avoid Krb5LoginModule.logout issue
> ----------------------------------
>
>                 Key: HADOOP-9856
>                 URL: https://issues.apache.org/jira/browse/HADOOP-9856
>             Project: Hadoop Common
>          Issue Type: Sub-task
>          Components: security
>    Affects Versions: 2.0.0-alpha, 3.0.0
>            Reporter: Daryn Sharp
>            Assignee: Daryn Sharp
>         Attachments: HADOOP-9856.patch
>
>
> The kerberos login module's logout method arguably has a bug.  {{Subject#getPrivateCredentials()}} returns a synchronized set.  Iterating the set requires explicitly locking the set.  The {{Krb5LoginModule#logout()}} is iterating and modifying the set w/o a lock.  This may lead to a {{ConcurrentModificationException}} which is what lead to {{UGI.getCurrentUser()}} being unnecessarily synchronized.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira