GEODE-1894: there's a race that AckReader thred is reading for ack (hold the read lock), while stopping sender thread tried to hold the write lock.
Project: http://git-wip-us.apache.org/repos/asf/incubator-geode/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-geode/commit/a1938b38 Tree: http://git-wip-us.apache.org/repos/asf/incubator-geode/tree/a1938b38 Diff: http://git-wip-us.apache.org/repos/asf/incubator-geode/diff/a1938b38 Branch: refs/heads/feature/e2e-testing Commit: a1938b386f1ed9064529df7f4206af913d4461c2 Parents: 4f2e277 Author: zhouxh <[email protected]> Authored: Fri Sep 23 10:02:21 2016 -0700 Committer: zhouxh <[email protected]> Committed: Fri Sep 23 10:02:21 2016 -0700 ---------------------------------------------------------------------- .../internal/cache/wan/GatewaySenderEventRemoteDispatcher.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/a1938b38/geode-wan/src/main/java/org/apache/geode/internal/cache/wan/GatewaySenderEventRemoteDispatcher.java ---------------------------------------------------------------------- diff --git a/geode-wan/src/main/java/org/apache/geode/internal/cache/wan/GatewaySenderEventRemoteDispatcher.java b/geode-wan/src/main/java/org/apache/geode/internal/cache/wan/GatewaySenderEventRemoteDispatcher.java index 6beb0ee..da94f65 100644 --- a/geode-wan/src/main/java/org/apache/geode/internal/cache/wan/GatewaySenderEventRemoteDispatcher.java +++ b/geode-wan/src/main/java/org/apache/geode/internal/cache/wan/GatewaySenderEventRemoteDispatcher.java @@ -98,7 +98,7 @@ public class GatewaySenderEventRemoteDispatcher implements } this.connectionLifeCycleLock.readLock().lock(); try { - if (connection != null) { + if (connection != null && !processor.isStopped()) { ack = (GatewayAck)sp.receiveAckFromReceiver(connection); } } finally {
