From 09ec9c4ffcb2f6c88a5303e88e7ae42a179eca2a Mon Sep 17 00:00:00 2001 From: Christopher Douglas Date: Sat, 21 Nov 2009 04:22:02 +0000 Subject: [PATCH] HADOOP-6269. Fix threading issue with defaultResource in Configuration. Contributed by Sreekanth Ramakrishnan git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/trunk@882831 13f79535-47bb-0310-9956-ffa450edef68 --- CHANGES.txt | 3 +++ src/java/org/apache/hadoop/conf/Configuration.java | 7 ++++--- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/CHANGES.txt b/CHANGES.txt index 2c19f62abc..529a545f2c 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1181,6 +1181,9 @@ Release 0.20.2 - Unreleased count at the start of each block in Hadoop archives. (Ben Slusky, Tom White, and Mahadev Konar via cdouglas) + HADOOP-6269. Fix threading issue with defaultResource in Configuration. + (Sreekanth Ramakrishnan via cdouglas) + Release 0.20.1 - 2009-09-01 INCOMPATIBLE CHANGES diff --git a/src/java/org/apache/hadoop/conf/Configuration.java b/src/java/org/apache/hadoop/conf/Configuration.java index e12817b42f..e9bb701098 100644 --- a/src/java/org/apache/hadoop/conf/Configuration.java +++ b/src/java/org/apache/hadoop/conf/Configuration.java @@ -44,6 +44,7 @@ import java.util.Properties; import java.util.Set; import java.util.StringTokenizer; import java.util.WeakHashMap; +import java.util.concurrent.CopyOnWriteArrayList; import java.util.regex.Matcher; import java.util.regex.Pattern; @@ -168,8 +169,8 @@ public class Configuration implements Iterable>, * List of default Resources. Resources are loaded in the order of the list * entries */ - private static final ArrayList defaultResources = - new ArrayList(); + private static final CopyOnWriteArrayList defaultResources = + new CopyOnWriteArrayList(); private static final Map>> CACHE_CLASSES = new WeakHashMap>>(); @@ -1685,7 +1686,7 @@ public class Configuration implements Iterable>, return sb.toString(); } - private void toString(ArrayList resources, StringBuffer sb) { + private void toString(List resources, StringBuffer sb) { ListIterator i = resources.listIterator(); while (i.hasNext()) { if (i.nextIndex() != 0) {