You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@geode.apache.org by ds...@apache.org on 2016/12/22 22:41:46 UTC

geode git commit: GEODE-2240: fix unsafe concurrent access of ArrayList When adding to the expiredTombstones ArrayList the code now holds a sync on getBlockGCLock.

Repository: geode
Updated Branches:
  refs/heads/develop 41f376cad -> 815d909e9


GEODE-2240: fix unsafe concurrent access of ArrayList
When adding to the expiredTombstones ArrayList the code
now holds a sync on getBlockGCLock.


Project: http://git-wip-us.apache.org/repos/asf/geode/repo
Commit: http://git-wip-us.apache.org/repos/asf/geode/commit/815d909e
Tree: http://git-wip-us.apache.org/repos/asf/geode/tree/815d909e
Diff: http://git-wip-us.apache.org/repos/asf/geode/diff/815d909e

Branch: refs/heads/develop
Commit: 815d909e980e54da485370aa665c426e4ea9ac45
Parents: 41f376c
Author: Darrel Schneider <ds...@pivotal.io>
Authored: Wed Dec 21 13:48:32 2016 -0800
Committer: Darrel Schneider <ds...@pivotal.io>
Committed: Thu Dec 22 14:40:27 2016 -0800

----------------------------------------------------------------------
 .../java/org/apache/geode/internal/cache/TombstoneService.java   | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/geode/blob/815d909e/geode-core/src/main/java/org/apache/geode/internal/cache/TombstoneService.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/TombstoneService.java b/geode-core/src/main/java/org/apache/geode/internal/cache/TombstoneService.java
index 2840134..7032775 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/TombstoneService.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/TombstoneService.java
@@ -669,7 +669,9 @@ public class TombstoneService {
       if (logger.isTraceEnabled(LogMarker.TOMBSTONE)) {
         logger.trace(LogMarker.TOMBSTONE, "adding expired tombstone {} to batch", tombstone);
       }
-      expiredTombstones.add(tombstone);
+      synchronized (getBlockGCLock()) {
+        expiredTombstones.add(tombstone);
+      }
     }
 
     @Override