[ https://issues.apache.org/jira/browse/HADOOP-10826?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14067209#comment-14067209 ]
Alejandro Abdelnur commented on HADOOP-10826: --------------------------------------------- optionally, you could do a dummy iteration on a static block in the class, then services will be loaded the first time they are requested and no need for synchronization. > Iteration on KeyProviderFactory.serviceLoader is thread-unsafe > --------------------------------------------------------------- > > Key: HADOOP-10826 > URL: https://issues.apache.org/jira/browse/HADOOP-10826 > Project: Hadoop Common > Issue Type: Improvement > Components: security > Reporter: Benoy Antony > Assignee: Benoy Antony > Attachments: HADOOP-10826.patch, HADOOP-10826.patch > > > KeyProviderFactory uses _ServiceLoader_ framework to load _KeyProviderFactory_ > {code} > private static final ServiceLoader<KeyProviderFactory> serviceLoader = > ServiceLoader.load(KeyProviderFactory.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)