[
https://issues.apache.org/jira/browse/HADOOP-7033?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12931866#action_12931866
]
Aaron T. Myers commented on HADOOP-7033:
----------------------------------------
Though obviously we should fix this, I don't think it can actually cause any
problems at the moment, since {{getUserToGroupsMappingService}} is only called
in one place (UserGroupInformation.java:243) and that method is
{{synchronized}}.
> getUserToGroupsMappingService is not thread safe
> ------------------------------------------------
>
> Key: HADOOP-7033
> URL: https://issues.apache.org/jira/browse/HADOOP-7033
> Project: Hadoop Common
> Issue Type: Bug
> Components: security
> Affects Versions: 0.22.0
> Reporter: Eli Collins
> Fix For: 0.22.0
>
>
> test-patch on trunk reports the following findbugs warning:
> {noformat}
> Incorrect lazy initialization of static field
> org.apache.hadoop.security.Groups.GROUPS in
> org.apache.hadoop.security.Groups.getUserToGroupsMappingService(Configuration)
> Bug type LI_LAZY_INIT_STATIC (click for details)
> In class org.apache.hadoop.security.Groups
> In method
> org.apache.hadoop.security.Groups.getUserToGroupsMappingService(Configuration)
> On field org.apache.hadoop.security.Groups.GROUPS
> At Groups.java:[lines 138-142]
> {noformat}
> The relevant code:
> {noformat}
> public static Groups getUserToGroupsMappingService(Configuration conf) {
> if(GROUPS == null) {
> if(LOG.isDebugEnabled()) {
> LOG.debug(" Creating new Groups object");
> }
> GROUPS = new Groups(conf);
> }
> return GROUPS;
> }
> {noformat}
> This is problematic if getUserToGroupsMappingService can accessed
> simultaneously by multiple threads.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.