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.