You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@geode.apache.org by zh...@apache.org on 2018/01/19 00:14:52 UTC

[geode] branch feature/GEM-883 updated: GEODE-3967: add more trace arround doPutOrCreate

This is an automated email from the ASF dual-hosted git repository.

zhouxj pushed a commit to branch feature/GEM-883
in repository https://gitbox.apache.org/repos/asf/geode.git


The following commit(s) were added to refs/heads/feature/GEM-883 by this push:
     new df66c91  GEODE-3967: add more trace arround doPutOrCreate
df66c91 is described below

commit df66c915b925fb0719a8ac0abbbe718ed569bb06
Author: zhouxh <gz...@pivotal.io>
AuthorDate: Thu Jan 18 16:13:50 2018 -0800

    GEODE-3967: add more trace arround doPutOrCreate
---
 .../geode/internal/cache/AbstractUpdateOperation.java     | 15 ++++++++++++---
 .../wan/serial/SerialGatewaySenderEventProcessor.java     |  9 ++++++---
 2 files changed, 18 insertions(+), 6 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 60aef53..66a11bd 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
@@ -114,7 +114,7 @@ public abstract class AbstractUpdateOperation extends DistributedCacheOperation
       boolean doUpdate = true; // start with assumption we have key and need value
       if (shouldDoRemoteCreate(rgn, ev)) {
         if (logger.isDebugEnabled()) {
-          logger.debug("doPutOrCreate: attempting to create entry");
+          logger.debug("doPutOrCreate: attempting to create entry" + ev);
         }
         final long startPut = CachePerfStats.getStatTime();
         final boolean isBucket = rgn.isUsedForPartitionedRegionBucket();
@@ -132,6 +132,9 @@ public abstract class AbstractUpdateOperation extends DistributedCacheOperation
             // we did a create, or replayed a create event
             doUpdate = false;
             updated = true;
+            if (logger.isDebugEnabled()) {
+              logger.debug("GGG:Created put key " + ev);
+            }
           } else { // already exists. If it was blocked by the DESTROYED token, then
             // do no update.
             if (ev.oldValueIsDestroyedToken()) {
@@ -140,6 +143,9 @@ public abstract class AbstractUpdateOperation extends DistributedCacheOperation
                     (InternalDistributedMember) ev.getDistributedMember(), ev.getVersionTag());
               }
               doUpdate = false;
+              logger.info("GGG:oldValueIsDestroyedToken,doUpdate=false:" + ev);
+            } else {
+              logger.info("GGG:oldValueIsDestroyedToken false, doUpdate=true:" + ev);
             }
           }
         } finally {
@@ -165,8 +171,8 @@ public abstract class AbstractUpdateOperation extends DistributedCacheOperation
             if (rgn.basicUpdate(ev, false/* ifNew */, true/* ifOld */, lastMod,
                 overwriteDestroyed)) {
               rgn.getCachePerfStats().endPut(startPut, ev.isOriginRemote());
-              if (logger.isTraceEnabled()) {
-                logger.trace("Processing put key {} in region {}", ev.getKey(), rgn.getFullPath());
+              if (logger.isDebugEnabled()) {
+                logger.debug("Processing put key {} in region {}", ev.getKey(), rgn.getFullPath());
               }
               updated = true;
             } else { // key not here or blocked by DESTROYED token
@@ -178,6 +184,9 @@ public abstract class AbstractUpdateOperation extends DistributedCacheOperation
                     overwriteDestroyed);
                 rgn.getCachePerfStats().endPut(startPut, ev.isOriginRemote());
                 updated = true;
+                if (logger.isDebugEnabled()) {
+                  logger.debug("GGG:Updated put key " + ev);
+                }
               } else {
                 if (rgn.getVersionVector() != null && ev.getVersionTag() != null) {
                   rgn.getVersionVector().recordVersion(
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 2946dc0..45e680e 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
@@ -35,6 +35,7 @@ import org.apache.geode.SystemFailure;
 import org.apache.geode.cache.CacheException;
 import org.apache.geode.cache.CacheListener;
 import org.apache.geode.cache.EntryEvent;
+import org.apache.geode.cache.Operation;
 import org.apache.geode.cache.Region;
 import org.apache.geode.cache.RegionDestroyedException;
 import org.apache.geode.cache.wan.GatewayQueueEvent;
@@ -428,9 +429,11 @@ public class SerialGatewaySenderEventProcessor extends AbstractGatewaySenderEven
         } else {
           // If it is not, create an uninitialized GatewayEventImpl and
           // put it into the map of unprocessed events.
-          senderEvent = new GatewaySenderEventImpl(operation, event, substituteValue, false); // OFFHEAP
-                                                                                              // ok
-          handleSecondaryEvent(senderEvent);
+          if (!event.getOperation().equals(Operation.UPDATE_VERSION_STAMP)) {
+            senderEvent = new GatewaySenderEventImpl(operation, event, substituteValue, false); // OFFHEAP
+                                                                                                // ok
+            handleSecondaryEvent(senderEvent);
+          }
         }
       }
     }

-- 
To stop receiving notification emails like this one, please contact
['"commits@geode.apache.org" <co...@geode.apache.org>'].