Author: stack
Date: Tue Jan 21 05:14:10 2014
New Revision: 1559923
URL: http://svn.apache.org/r1559923
Log:
HBASE-10143 replace WritableFactories's hashmap with ConcurrentHashMap (Liang
Xie via Stack)
Modified:
hadoop/common/trunk/hadoop-common-project/hadoop-common/CHANGES.txt
hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/WritableFactories.java
Modified: hadoop/common/trunk/hadoop-common-project/hadoop-common/CHANGES.txt
URL:
http://svn.apache.org/viewvc/hadoop/common/trunk/hadoop-common-project/hadoop-common/CHANGES.txt?rev=1559923&r1=1559922&r2=1559923&view=diff
==============================================================================
--- hadoop/common/trunk/hadoop-common-project/hadoop-common/CHANGES.txt
(original)
+++ hadoop/common/trunk/hadoop-common-project/hadoop-common/CHANGES.txt Tue Jan
21 05:14:10 2014
@@ -113,6 +113,9 @@ Trunk (Unreleased)
HADOOP-10177. Create CLI tools for managing keys. (Larry McCay via omalley)
+ HADOOP-10143 replace WritableFactories's hashmap with ConcurrentHashMap
+ (Liang Xie via stack)
+
BUG FIXES
HADOOP-9451. Fault single-layer config if node group topology is enabled.
Modified:
hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/WritableFactories.java
URL:
http://svn.apache.org/viewvc/hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/WritableFactories.java?rev=1559923&r1=1559922&r2=1559923&view=diff
==============================================================================
---
hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/WritableFactories.java
(original)
+++
hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/WritableFactories.java
Tue Jan 21 05:14:10 2014
@@ -22,25 +22,26 @@ import org.apache.hadoop.classification.
import org.apache.hadoop.classification.InterfaceStability;
import org.apache.hadoop.conf.*;
import org.apache.hadoop.util.ReflectionUtils;
-import java.util.HashMap;
+import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
/** Factories for non-public writables. Defining a factory permits {@link
* ObjectWritable} to be able to construct instances of non-public classes. */
@InterfaceAudience.Public
@InterfaceStability.Stable
public class WritableFactories {
- private static final HashMap<Class, WritableFactory> CLASS_TO_FACTORY =
- new HashMap<Class, WritableFactory>();
+ private static final Map<Class, WritableFactory> CLASS_TO_FACTORY =
+ new ConcurrentHashMap<Class, WritableFactory>();
private WritableFactories() {} // singleton
/** Define a factory for a class. */
- public static synchronized void setFactory(Class c, WritableFactory factory)
{
+ public static void setFactory(Class c, WritableFactory factory) {
CLASS_TO_FACTORY.put(c, factory);
}
/** Define a factory for a class. */
- public static synchronized WritableFactory getFactory(Class c) {
+ public static WritableFactory getFactory(Class c) {
return CLASS_TO_FACTORY.get(c);
}