hadoop-common-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Benoy Antony (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (HADOOP-10829) Iteration on CredentialProviderFactory.serviceLoader is thread-unsafe
Date Wed, 23 Jul 2014 12:57:38 GMT

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

Benoy Antony updated HADOOP-10829:

    Attachment: HADOOP-10829.patch

Attaching patch which uses static initializer to preload the services. This will avoid lazy
loading and hence prevent the need for synchronization during iteration.
Similar approach was taken in HADOOP-10826.

> Iteration on CredentialProviderFactory.serviceLoader  is thread-unsafe
> ----------------------------------------------------------------------
>                 Key: HADOOP-10829
>                 URL: https://issues.apache.org/jira/browse/HADOOP-10829
>             Project: Hadoop Common
>          Issue Type: Bug
>          Components: security
>            Reporter: Benoy Antony
>            Assignee: Benoy Antony
>         Attachments: HADOOP-10829.patch, HADOOP-10829.patch
> CredentialProviderFactory uses _ServiceLoader_ framework to load _CredentialProviderFactory_
> {code}
>   private static final ServiceLoader<CredentialProviderFactory> serviceLoader =
>       ServiceLoader.load(CredentialProviderFactory.class);
> {code}
> The _ServiceLoader_ framework does lazy initialization of services which makes it thread
unsafe. If accessed from multiple threads, it is better to synchronize the access.
> Similar synchronization has been done while loading compression codec providers via HADOOP-8406.

This message was sent by Atlassian JIRA

View raw message