Author: jbellis
Date: Thu Apr  2 20:14:49 2009
New Revision: 761413

URL: http://svn.apache.org/viewvc?rev=761413&view=rev
Log:
r/m unused constructors.  Use concurrent containers because while get is 
iterating over columns (EBM is used as the column container by CF) the memtable 
can continue to modify SuperColumns.

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

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=761413&r1=761412&r2=761413&view=diff
==============================================================================
--- incubator/cassandra/trunk/src/org/apache/cassandra/db/EfficientBidiMap.java 
(original)
+++ incubator/cassandra/trunk/src/org/apache/cassandra/db/EfficientBidiMap.java 
Thu Apr  2 20:14:49 2009
@@ -19,10 +19,14 @@
 package org.apache.cassandra.db;
 
 import java.io.Serializable;
-import java.util.*;
+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.apache.cassandra.service.StorageService;
 
 
 /**
@@ -31,19 +35,13 @@
 
 class EfficientBidiMap implements Serializable
 {
-    private Map<String, IColumn> map_ = new HashMap<String, IColumn>();
+    private Map<String, IColumn> map_;
     private SortedSet<IColumn> sortedSet_;
     private Comparator<IColumn> columnComparator_;
 
-    EfficientBidiMap()
-    {
-       this(ColumnComparatorFactory.getComparator(ComparatorType.TIMESTAMP));
-    }
-
     EfficientBidiMap(Comparator<IColumn> columnComparator)
     {
-       columnComparator_ = columnComparator;
-       sortedSet_ = new TreeSet<IColumn>(columnComparator);
+        this(new ConcurrentHashMap<String, IColumn>(), new 
ConcurrentSkipListSet<IColumn>(columnComparator), columnComparator);
     }
 
     EfficientBidiMap(Map<String, IColumn> map, SortedSet<IColumn> set, 
Comparator<IColumn> comparator)
@@ -53,18 +51,6 @@
        columnComparator_ = comparator;
     }
 
-    EfficientBidiMap(Object[] objects, Comparator<IColumn> columnComparator)
-    {
-       columnComparator_ = columnComparator;
-       sortedSet_ = new TreeSet<IColumn>(columnComparator);
-        for ( Object object : objects )
-        {
-            IColumn column = (IColumn)object;
-            sortedSet_.add(column);
-            map_.put(column.name(), column);
-        }
-    }
-
     public Comparator<IColumn> getComparator()
     {
        return columnComparator_;
@@ -116,8 +102,8 @@
 
     EfficientBidiMap cloneMe()
     {
-       Map<String, IColumn> map = new HashMap<String, IColumn>(map_);
-       SortedSet<IColumn> set = new TreeSet<IColumn>(sortedSet_);
+       Map<String, IColumn> map = new ConcurrentHashMap<String, IColumn>(map_);
+       SortedSet<IColumn> set = new ConcurrentSkipListSet<IColumn>(sortedSet_);
        return new EfficientBidiMap(map, set, columnComparator_);
     }
 }


Reply via email to