You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@gora.apache.org by rh...@apache.org on 2013/03/12 12:09:23 UTC

svn commit: r1455488 - in /gora/trunk: CHANGES.txt gora-cassandra/src/main/java/org/apache/gora/cassandra/store/CassandraStore.java

Author: rherget
Date: Tue Mar 12 11:09:22 2013
New Revision: 1455488

URL: http://svn.apache.org/r1455488
Log:
GORA-210 thread safety: fix java.util.ConcurrentModificationException

Modified:
    gora/trunk/CHANGES.txt
    gora/trunk/gora-cassandra/src/main/java/org/apache/gora/cassandra/store/CassandraStore.java

Modified: gora/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/gora/trunk/CHANGES.txt?rev=1455488&r1=1455487&r2=1455488&view=diff
==============================================================================
--- gora/trunk/CHANGES.txt (original)
+++ gora/trunk/CHANGES.txt Tue Mar 12 11:09:22 2013
@@ -6,6 +6,8 @@ Gora Change Log
 
 trunk (current development)
 
+* GORA-210 thread safety: fix java.util.ConcurrentModificationException (rherget)
+
 * GORA-190 Add "version" switch to bin/gora script (lewismc)
 
 * GORA-169 Implement correct logging for KeySpaces and attributes in CassandraMappingManager (lewismc)

Modified: gora/trunk/gora-cassandra/src/main/java/org/apache/gora/cassandra/store/CassandraStore.java
URL: http://svn.apache.org/viewvc/gora/trunk/gora-cassandra/src/main/java/org/apache/gora/cassandra/store/CassandraStore.java?rev=1455488&r1=1455487&r2=1455488&view=diff
==============================================================================
--- gora/trunk/gora-cassandra/src/main/java/org/apache/gora/cassandra/store/CassandraStore.java (original)
+++ gora/trunk/gora-cassandra/src/main/java/org/apache/gora/cassandra/store/CassandraStore.java Tue Mar 12 11:09:22 2013
@@ -27,6 +27,7 @@ import java.util.List;
 import java.util.Map;
 import java.util.Properties;
 import java.util.Set;
+import java.util.Collections;
 
 import me.prettyprint.cassandra.serializers.IntegerSerializer;
 import me.prettyprint.cassandra.serializers.StringSerializer;
@@ -72,7 +73,7 @@ public class CassandraStore<K, T extends
    * We want to iterate over the keys in insertion order.
    * We don't want to lock the entire collection before iterating over the keys, since in the meantime other threads are adding entries to the map.
    */
-  private Map<K, T> buffer = new LinkedHashMap<K, T>();
+  private Map<K, T> buffer = Collections.synchronizedMap(new LinkedHashMap<K, T>());
   
   public CassandraStore() throws Exception {
     // this.cassandraClient.initialize();