[ 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 (v6.2#6252)