diff --git a/hadoop-common-project/hadoop-common/CHANGES.txt b/hadoop-common-project/hadoop-common/CHANGES.txt index d82e6167119..aa1767722e3 100644 --- a/hadoop-common-project/hadoop-common/CHANGES.txt +++ b/hadoop-common-project/hadoop-common/CHANGES.txt @@ -47,6 +47,9 @@ Release 2.5.0 - UNRELEASED HADOOP-10468. TestMetricsSystemImpl.testMultiThreadedPublish fails intermediately. (wheat9) + HADOOP-10475. ConcurrentModificationException in + AbstractDelegationTokenSelector.selectToken(). (jing9) + Release 2.4.1 - UNRELEASED INCOMPATIBLE CHANGES diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/security/UserGroupInformation.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/security/UserGroupInformation.java index 822ea8cc626..c8a67c76cde 100644 --- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/security/UserGroupInformation.java +++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/security/UserGroupInformation.java @@ -18,6 +18,7 @@ package org.apache.hadoop.security; import static org.apache.hadoop.fs.CommonConfigurationKeys.HADOOP_USER_GROUP_METRICS_PERCENTILES_INTERVALS; +import static org.apache.hadoop.util.PlatformName.IBM_JAVA; import java.io.File; import java.io.IOException; @@ -28,6 +29,7 @@ import java.security.PrivilegedAction; import java.security.PrivilegedActionException; import java.security.PrivilegedExceptionAction; +import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; import java.util.Collections; @@ -43,9 +45,9 @@ import javax.security.auth.kerberos.KerberosPrincipal; import javax.security.auth.kerberos.KerberosTicket; import javax.security.auth.login.AppConfigurationEntry; +import javax.security.auth.login.AppConfigurationEntry.LoginModuleControlFlag; import javax.security.auth.login.LoginContext; import javax.security.auth.login.LoginException; -import javax.security.auth.login.AppConfigurationEntry.LoginModuleControlFlag; import javax.security.auth.spi.LoginModule; import org.apache.commons.logging.Log; @@ -66,7 +68,6 @@ import org.apache.hadoop.security.token.TokenIdentifier; import org.apache.hadoop.util.Shell; import org.apache.hadoop.util.Time; -import static org.apache.hadoop.util.PlatformName.IBM_JAVA; import com.google.common.annotations.VisibleForTesting; @@ -1366,7 +1367,7 @@ public synchronized boolean addToken(Text alias, public synchronized Collection> getTokens() { return Collections.unmodifiableCollection( - getCredentialsInternal().getAllTokens()); + new ArrayList>(getCredentialsInternal().getAllTokens())); } /**