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.

Reply via email to