You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@geode.apache.org by nn...@apache.org on 2018/09/27 04:03:11 UTC
[geode] branch release/1.7.0 updated: Revert "GEODE-3967: There're
following 9 problems fixed here:"
This is an automated email from the ASF dual-hosted git repository.
nnag pushed a commit to branch release/1.7.0
in repository https://gitbox.apache.org/repos/asf/geode.git
The following commit(s) were added to refs/heads/release/1.7.0 by this push:
new 38dd001 Revert "GEODE-3967: There're following 9 problems fixed here:"
38dd001 is described below
commit 38dd00103913b40a6f4f395f1e4daa79834b0195
Author: Jason Huynh <hu...@gmail.com>
AuthorDate: Wed Sep 26 16:38:35 2018 -0700
Revert "GEODE-3967: There're following 9 problems fixed here:"
This reverts commit de7c6d8b4a9b3e2c1c0ebd4ce1835aff0007f9e1.
This commit seems to increase the likelihood of causing an WAN inconsistency
---
.../geode/internal/cache/AbstractUpdateOperation.java | 8 +-------
.../java/org/apache/geode/internal/cache/LocalRegion.java | 6 ++----
.../wan/serial/SerialGatewaySenderEventProcessor.java | 14 +++-----------
3 files changed, 6 insertions(+), 22 deletions(-)
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/AbstractUpdateOperation.java b/geode-core/src/main/java/org/apache/geode/internal/cache/AbstractUpdateOperation.java
index 6ec4453..2c2da45 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/AbstractUpdateOperation.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/AbstractUpdateOperation.java
@@ -142,12 +142,6 @@ public abstract class AbstractUpdateOperation extends DistributedCacheOperation
}
doUpdate = false;
}
- if (ev.isConcurrencyConflict()) {
- if (logger.isDebugEnabled()) {
- logger.debug("basicUpdate failed with CME, not to retry:" + ev);
- }
- doUpdate = false;
- }
}
} finally {
if (isBucket) {
@@ -181,7 +175,7 @@ public abstract class AbstractUpdateOperation extends DistributedCacheOperation
|| (rgn.getDataPolicy().withReplication() && rgn.getConcurrencyChecksEnabled())) {
overwriteDestroyed = true;
ev.makeCreate();
- rgn.basicUpdate(ev, false /* ifNew */, false/* ifOld */, lastMod,
+ rgn.basicUpdate(ev, true /* ifNew */, false/* ifOld */, lastMod,
overwriteDestroyed);
rgn.getCachePerfStats().endPut(startPut, ev.isOriginRemote());
updated = true;
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/LocalRegion.java b/geode-core/src/main/java/org/apache/geode/internal/cache/LocalRegion.java
index b5250f3..31d48fd 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/LocalRegion.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/LocalRegion.java
@@ -5693,8 +5693,6 @@ public class LocalRegion extends AbstractRegion implements LoaderHelperFactory,
logger.debug("caught concurrent modification attempt when applying {}", event);
}
notifyBridgeClients(event);
- notifyGatewaySender(event.getOperation().isUpdate() ? EnumListenerEvent.AFTER_UPDATE
- : EnumListenerEvent.AFTER_CREATE, event);
return false;
}
@@ -6193,7 +6191,8 @@ public class LocalRegion extends AbstractRegion implements LoaderHelperFactory,
}
protected void notifyGatewaySender(EnumListenerEvent operation, EntryEventImpl event) {
- if (isPdxTypesRegion()) {
+ if (isPdxTypesRegion() || event.isConcurrencyConflict()) {
+ // isConcurrencyConflict is usually a concurrent cache modification problem
return;
}
@@ -6586,7 +6585,6 @@ public class LocalRegion extends AbstractRegion implements LoaderHelperFactory,
// Notify clients only if its NOT a gateway event.
if (event.getVersionTag() != null && !event.getVersionTag().isGatewayTag()) {
notifyBridgeClients(event);
- notifyGatewaySender(EnumListenerEvent.AFTER_DESTROY, event);
}
return true; // event was elided
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/wan/serial/SerialGatewaySenderEventProcessor.java b/geode-core/src/main/java/org/apache/geode/internal/cache/wan/serial/SerialGatewaySenderEventProcessor.java
index 4d371ea..b2f9838 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/wan/serial/SerialGatewaySenderEventProcessor.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/wan/serial/SerialGatewaySenderEventProcessor.java
@@ -384,9 +384,6 @@ public class SerialGatewaySenderEventProcessor extends AbstractGatewaySenderEven
if (m != null) {
for (EventWrapper ew : m.values()) {
GatewaySenderEventImpl gatewayEvent = ew.event;
- if (logger.isDebugEnabled()) {
- logger.debug("releaseUnprocessedEvents:" + gatewayEvent);
- }
gatewayEvent.release();
}
this.unprocessedEvents = null;
@@ -431,14 +428,9 @@ public class SerialGatewaySenderEventProcessor extends AbstractGatewaySenderEven
} else {
// If it is not, create an uninitialized GatewayEventImpl and
// put it into the map of unprocessed events.
- // 2 Special cases:
- // 1) UPDATE_VERSION_STAMP: only enqueue to primary
- // 2) CME && !originRemote: only enqueue to primary
- if (!(event.getOperation().equals(Operation.UPDATE_VERSION_STAMP)
- || ((EntryEventImpl) event).isConcurrencyConflict() && !event.isOriginRemote())) {
- senderEvent = new GatewaySenderEventImpl(operation, event, substituteValue, false); // OFFHEAP
- handleSecondaryEvent(senderEvent);
- }
+ senderEvent = new GatewaySenderEventImpl(operation, event, substituteValue, false); // OFFHEAP
+ // ok
+ handleSecondaryEvent(senderEvent);
}
}
}