This is an automated email from the ASF dual-hosted git repository. zhouxj pushed a commit to branch feature/GEODE-7473 in repository https://gitbox.apache.org/repos/asf/geode.git
commit 712871a6f529ae5bfb42b0a84b97cbcfff2f7df0 Author: zhouxh <[email protected]> AuthorDate: Mon Nov 18 14:18:31 2019 -0800 GEODE-7473: before adding to tmpDroppedEvents, should check GatewaySenderEventCallbackArgument first --- .../internal/cache/wan/AbstractGatewaySender.java | 28 +++++++++++----------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/wan/AbstractGatewaySender.java b/geode-core/src/main/java/org/apache/geode/internal/cache/wan/AbstractGatewaySender.java index 4fe0290..727014a 100644 --- a/geode-core/src/main/java/org/apache/geode/internal/cache/wan/AbstractGatewaySender.java +++ b/geode-core/src/main/java/org/apache/geode/internal/cache/wan/AbstractGatewaySender.java @@ -937,20 +937,6 @@ public abstract class AbstractGatewaySender implements InternalGatewaySender, Di boolean freeClonedEvent = true; try { - // If this gateway is not running, return - if (!isRunning()) { - if (this.isPrimary()) { - tmpDroppedEvents.add(clonedEvent); - if (isDebugEnabled) { - logger.debug("add to tmpDroppedEvents for evnet {}", clonedEvent); - } - } - if (isDebugEnabled) { - logger.debug("Returning back without putting into the gateway sender queue:" + event); - } - return; - } - final GatewaySenderStats stats = getStatistics(); stats.incEventsReceived(); @@ -1029,6 +1015,20 @@ public abstract class AbstractGatewaySender implements InternalGatewaySender, Di clonedEvent.setCallbackArgument(geCallbackArg); } + // If this gateway is not running, return + if (!isRunning()) { + if (this.isPrimary()) { + tmpDroppedEvents.add(clonedEvent); + if (isDebugEnabled) { + logger.debug("add to tmpDroppedEvents for evnet {}", clonedEvent); + } + } + if (isDebugEnabled) { + logger.debug("Returning back without putting into the gateway sender queue:" + event); + } + return; + } + if (!this.getLifeCycleLock().readLock().tryLock()) { synchronized (this.queuedEventsSync) { if (!this.enqueuedAllTempQueueEvents) {
