You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@gora.apache.org by le...@apache.org on 2015/08/29 03:53:08 UTC

gora git commit: Revert to ed768b4be6af4cc8fa18fa11bdb01c616101afbe botched commit for GORA-228 java.util.ConcurrentModificationException when using MemStore for concurrent tests

Repository: gora
Updated Branches:
  refs/heads/master 678307454 -> 08c48d966


Revert to ed768b4be6af4cc8fa18fa11bdb01c616101afbe botched commit for GORA-228 java.util.ConcurrentModificationException when using MemStore for concurrent tests


Project: http://git-wip-us.apache.org/repos/asf/gora/repo
Commit: http://git-wip-us.apache.org/repos/asf/gora/commit/08c48d96
Tree: http://git-wip-us.apache.org/repos/asf/gora/tree/08c48d96
Diff: http://git-wip-us.apache.org/repos/asf/gora/diff/08c48d96

Branch: refs/heads/master
Commit: 08c48d966475f7485b66beeb0b2f4591499b427a
Parents: 6783074
Author: Lewis John McGibbney <le...@jpl.nasa.gov>
Authored: Fri Aug 28 18:53:28 2015 -0700
Committer: Lewis John McGibbney <le...@jpl.nasa.gov>
Committed: Fri Aug 28 18:53:28 2015 -0700

----------------------------------------------------------------------
 CHANGES.txt                                     |  2 --
 .../org/apache/gora/memory/store/MemStore.java  | 34 ++++++++------------
 2 files changed, 14 insertions(+), 22 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/gora/blob/08c48d96/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index defcf19..ca79a6c 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -4,8 +4,6 @@
 
 Current Development
 
-* GORA-228 java.util.ConcurrentModificationException when using MemStore for concurrent tests (Yasin Kılınç, cihad güzel, lewismc)
-
 * GORA-419: AccumuloStore.put deletes entire row when updating map/array field (gerhardgossen via lewismc)
 
 * GORA-420: AccumuloStore.createSchema fails when table already exists (gerhardgossen via lewismc)

http://git-wip-us.apache.org/repos/asf/gora/blob/08c48d96/gora-core/src/main/java/org/apache/gora/memory/store/MemStore.java
----------------------------------------------------------------------
diff --git a/gora-core/src/main/java/org/apache/gora/memory/store/MemStore.java b/gora-core/src/main/java/org/apache/gora/memory/store/MemStore.java
index d1d18d6..56ba4e3 100644
--- a/gora-core/src/main/java/org/apache/gora/memory/store/MemStore.java
+++ b/gora-core/src/main/java/org/apache/gora/memory/store/MemStore.java
@@ -24,8 +24,7 @@ import java.util.Arrays;
 import java.util.Iterator;
 import java.util.List;
 import java.util.NavigableMap;
-import java.util.concurrent.ConcurrentNavigableMap;
-import java.util.concurrent.ConcurrentSkipListMap;
+import java.util.TreeMap;
 
 
 import org.apache.avro.Schema.Field;
@@ -89,9 +88,7 @@ public class MemStore<K, T extends PersistentBase> extends DataStoreBase<K, T> {
     }
   }
 
-  // This map behaves like DB, has to be static and concurrent collection
-  @SuppressWarnings("rawtypes")
-  public static ConcurrentSkipListMap map = new ConcurrentSkipListMap();
+  private TreeMap<K, T> map = new TreeMap<K, T>();
 
   @Override
   public String getSchemaName() {
@@ -113,36 +110,35 @@ public class MemStore<K, T extends PersistentBase> extends DataStoreBase<K, T> {
         if(delete(result.getKey()))
           deletedRows++;
       }
-      return deletedRows;
-    } catch (Exception e) {
+      return 0;
+    }
+    catch(Exception e){
       return 0;
     }
   }
-  
-  @SuppressWarnings("unchecked")
+
   @Override
   public Result<K, T> execute(Query<K, T> query) {
     K startKey = query.getStartKey();
     K endKey = query.getEndKey();
     if(startKey == null) {
-      startKey = (K) map.firstKey();
+      startKey = map.firstKey();
     }
     if(endKey == null) {
-      endKey = (K) map.lastKey();
+      endKey = map.lastKey();
     }
 
     //check if query.fields is null
     query.setFields(getFieldsToQuery(query.getFields()));
 
-    ConcurrentNavigableMap<K,T> submap = map.subMap(startKey, true, endKey, true);
+    NavigableMap<K, T> submap = map.subMap(startKey, true, endKey, true);
 
     return new MemResult<K,T>(this, query, submap);
   }
-  
-  @SuppressWarnings("unchecked")
+
   @Override
   public T get(K key, String[] fields) {
-    T obj = (T) map.get(key);
+    T obj = map.get(key);
     if (obj == null) {
       return null;
     }
@@ -173,8 +169,7 @@ public class MemStore<K, T extends PersistentBase> extends DataStoreBase<K, T> {
   public Query<K, T> newQuery() {
     return new MemQuery<K, T>(this);
   }
-  
-  @SuppressWarnings("unchecked")
+
   @Override
   public void put(K key, T obj) {
     map.put(key, obj);
@@ -194,6 +189,7 @@ public class MemStore<K, T extends PersistentBase> extends DataStoreBase<K, T> {
 
   @Override
   public void close() {
+    map.clear();
   }
 
   @Override
@@ -210,7 +206,5 @@ public class MemStore<K, T extends PersistentBase> extends DataStoreBase<K, T> {
   }
 
   @Override
-  public void flush() {
-    map.clear();
-  }
+  public void flush() { }
 }