Index: hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/wal/HLogSplitter.java =================================================================== --- hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/wal/HLogSplitter.java (revision 1356953) +++ hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/wal/HLogSplitter.java (working copy) @@ -35,6 +35,7 @@ import java.util.TreeSet; import java.util.concurrent.Callable; import java.util.concurrent.CompletionService; +import java.util.concurrent.ConcurrentSkipListMap; import java.util.concurrent.ExecutionException; import java.util.concurrent.ExecutorCompletionService; import java.util.concurrent.Future; @@ -1149,10 +1150,10 @@ * Class that manages the output streams from the log splitting process. */ class OutputSink { - private final Map logWriters = Collections.synchronizedMap( - new TreeMap(Bytes.BYTES_COMPARATOR)); - private final Map regionMaximumEditLogSeqNum = Collections - .synchronizedMap(new TreeMap(Bytes.BYTES_COMPARATOR)); + private final Map logWriters = + new ConcurrentSkipListMap(Bytes.BYTES_COMPARATOR); + private final Map regionMaximumEditLogSeqNum = + new ConcurrentSkipListMap(Bytes.BYTES_COMPARATOR); private final List writerThreads = Lists.newArrayList(); /* Set of regions which we've decided should not output edits */