Author: jbellis
Date: Fri Apr  3 21:27:34 2009
New Revision: 761804

URL: http://svn.apache.org/viewvc?rev=761804&view=rev
Log:
expunge ConcurrentHashMap in favor of NonBlockingHashMap.  patch by jbellis, 
review by johano.  see #50

Modified:
    incubator/cassandra/trunk/src/org/apache/cassandra/db/ColumnFamilyStore.java
    incubator/cassandra/trunk/src/org/apache/cassandra/db/EfficientBidiMap.java
    incubator/cassandra/trunk/src/org/apache/cassandra/utils/Cachetable.java

Modified: 
incubator/cassandra/trunk/src/org/apache/cassandra/db/ColumnFamilyStore.java
URL: 
http://svn.apache.org/viewvc/incubator/cassandra/trunk/src/org/apache/cassandra/db/ColumnFamilyStore.java?rev=761804&r1=761803&r2=761804&view=diff
==============================================================================
--- 
incubator/cassandra/trunk/src/org/apache/cassandra/db/ColumnFamilyStore.java 
(original)
+++ 
incubator/cassandra/trunk/src/org/apache/cassandra/db/ColumnFamilyStore.java 
Fri Apr  3 21:27:34 2009
@@ -23,17 +23,14 @@
 import java.math.BigInteger;
 import java.util.ArrayList;
 import java.util.Collections;
-import java.util.HashMap;
 import java.util.HashSet;
 import java.util.List;
 import java.util.Map;
 import java.util.PriorityQueue;
 import java.util.Set;
 import java.util.StringTokenizer;
-import java.util.Arrays;
 import java.util.concurrent.ExecutionException;
 import java.util.concurrent.Future;
-import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.atomic.AtomicBoolean;
 import java.util.concurrent.atomic.AtomicInteger;
 import java.util.concurrent.atomic.AtomicReference;
@@ -49,11 +46,12 @@
 import org.apache.cassandra.io.SSTable;
 import org.apache.cassandra.io.SequenceFile;
 import org.apache.cassandra.net.EndPoint;
-import org.apache.cassandra.service.StorageService;
 import org.apache.cassandra.service.PartitionerType;
+import org.apache.cassandra.service.StorageService;
 import org.apache.cassandra.utils.BloomFilter;
 import org.apache.cassandra.utils.FileUtils;
 import org.apache.cassandra.utils.LogUtil;
+import org.cliffc.high_scale_lib.NonBlockingHashMap;
 
 /**
  * Author : Avinash Lakshman ( [email protected]) & Prashant Malik ( 
[email protected] )
@@ -702,7 +700,7 @@
      */
     static Set<List<String>> getCompactionBuckets(List<String> files, long min)
     {
-       Map<List<String>, Long> buckets = new ConcurrentHashMap<List<String>, 
Long>();
+       Map<List<String>, Long> buckets = new NonBlockingHashMap<List<String>, 
Long>();
        for(String fname : files)
        {
                File f = new File(fname);

Modified: 
incubator/cassandra/trunk/src/org/apache/cassandra/db/EfficientBidiMap.java
URL: 
http://svn.apache.org/viewvc/incubator/cassandra/trunk/src/org/apache/cassandra/db/EfficientBidiMap.java?rev=761804&r1=761803&r2=761804&view=diff
==============================================================================
--- incubator/cassandra/trunk/src/org/apache/cassandra/db/EfficientBidiMap.java 
(original)
+++ incubator/cassandra/trunk/src/org/apache/cassandra/db/EfficientBidiMap.java 
Fri Apr  3 21:27:34 2009
@@ -19,14 +19,12 @@
 package org.apache.cassandra.db;
 
 import java.io.Serializable;
-import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.ConcurrentSkipListSet;
 import java.util.Map;
 import java.util.SortedSet;
 import java.util.Comparator;
-import java.util.TreeSet;
 
-import org.apache.cassandra.db.ColumnComparatorFactory.ComparatorType;
+import org.cliffc.high_scale_lib.NonBlockingHashMap;
 
 
 /**
@@ -35,16 +33,16 @@
 
 class EfficientBidiMap implements Serializable
 {
-    private Map<String, IColumn> map_;
-    private SortedSet<IColumn> sortedSet_;
+    private NonBlockingHashMap<String, IColumn> map_;
+    private ConcurrentSkipListSet<IColumn> sortedSet_;
     private Comparator<IColumn> columnComparator_;
 
     EfficientBidiMap(Comparator<IColumn> columnComparator)
     {
-        this(new ConcurrentHashMap<String, IColumn>(), new 
ConcurrentSkipListSet<IColumn>(columnComparator), columnComparator);
+        this(new NonBlockingHashMap<String, IColumn>(), new 
ConcurrentSkipListSet<IColumn>(columnComparator), columnComparator);
     }
 
-    EfficientBidiMap(Map<String, IColumn> map, SortedSet<IColumn> set, 
Comparator<IColumn> comparator)
+    private EfficientBidiMap(NonBlockingHashMap<String, IColumn> map, 
ConcurrentSkipListSet<IColumn> set, Comparator<IColumn> comparator)
     {
        map_ = map;
        sortedSet_ = set;
@@ -102,9 +100,7 @@
 
     EfficientBidiMap cloneMe()
     {
-       Map<String, IColumn> map = new ConcurrentHashMap<String, IColumn>(map_);
-       SortedSet<IColumn> set = new ConcurrentSkipListSet<IColumn>(sortedSet_);
-       return new EfficientBidiMap(map, set, columnComparator_);
+       return new EfficientBidiMap((NonBlockingHashMap<String, IColumn>) 
map_.clone(), sortedSet_.clone(), columnComparator_);
     }
 }
 

Modified: 
incubator/cassandra/trunk/src/org/apache/cassandra/utils/Cachetable.java
URL: 
http://svn.apache.org/viewvc/incubator/cassandra/trunk/src/org/apache/cassandra/utils/Cachetable.java?rev=761804&r1=761803&r2=761804&view=diff
==============================================================================
--- incubator/cassandra/trunk/src/org/apache/cassandra/utils/Cachetable.java 
(original)
+++ incubator/cassandra/trunk/src/org/apache/cassandra/utils/Cachetable.java 
Fri Apr  3 21:27:34 2009
@@ -19,7 +19,6 @@
 package org.apache.cassandra.utils;
 
 import java.util.*;
-import java.util.concurrent.ConcurrentHashMap;
 
 import org.apache.log4j.Logger;
 /**


Reply via email to