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 <lewis.j.mcgibb...@jpl.nasa.gov> Authored: Fri Aug 28 18:53:28 2015 -0700 Committer: Lewis John McGibbney <lewis.j.mcgibb...@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() { } }