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/03/26 18:38:19 UTC

[geode] branch feature/GEODE-4647 updated: GEODE-4647: add trace to print content of undrained queue

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

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


The following commit(s) were added to refs/heads/feature/GEODE-4647 by this push:
     new 1b15872  GEODE-4647: add trace to print content of undrained queue
1b15872 is described below

commit 1b1587284c1e7f229d7fe40adfe18005550cb8ee
Author: zhouxh <gz...@pivotal.io>
AuthorDate: Mon Mar 26 11:37:42 2018 -0700

    GEODE-4647: add trace to print content of undrained queue
---
 .../cache/wan/AbstractGatewaySenderEventProcessor.java     | 14 ++++++++++++--
 .../wan/parallel/ConcurrentParallelGatewaySenderQueue.java |  5 +++++
 .../cache/wan/parallel/ParallelGatewaySenderQueue.java     | 14 ++++++++++++++
 .../wan/asyncqueue/AsyncEventQueueStatsDUnitTest.java      |  2 +-
 .../org/apache/geode/internal/cache/wan/WANTestBase.java   |  2 ++
 .../parallel/ParallelGatewaySenderOperationsDUnitTest.java |  2 +-
 6 files changed, 35 insertions(+), 4 deletions(-)

diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/wan/AbstractGatewaySenderEventProcessor.java b/geode-core/src/main/java/org/apache/geode/internal/cache/wan/AbstractGatewaySenderEventProcessor.java
index 1a12abf..9753910 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/wan/AbstractGatewaySenderEventProcessor.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/wan/AbstractGatewaySenderEventProcessor.java
@@ -277,12 +277,22 @@ public abstract class AbstractGatewaySenderEventProcessor extends Thread {
 
     // if parallel, get both primary and secondary queues' size, then substract primary queue's size
     if (this.queue instanceof ParallelGatewaySenderQueue) {
-      return ((ParallelGatewaySenderQueue) queue).localSize(true)
+      int size = ((ParallelGatewaySenderQueue) queue).localSize(true)
           - ((ParallelGatewaySenderQueue) queue).localSize(false);
+      if (size > 0) {
+        ParallelGatewaySenderQueue pgsq = (ParallelGatewaySenderQueue) queue;
+        pgsq.displayContent();
+      }
+      return size;
     }
     if (this.queue instanceof ConcurrentParallelGatewaySenderQueue) {
-      return ((ConcurrentParallelGatewaySenderQueue) queue).localSize(true)
+      int size = ((ConcurrentParallelGatewaySenderQueue) queue).localSize(true)
           - ((ConcurrentParallelGatewaySenderQueue) queue).localSize(false);
+      if (size > 0) {
+        ConcurrentParallelGatewaySenderQueue pgsq = (ConcurrentParallelGatewaySenderQueue) queue;
+        pgsq.displayContent();
+      }
+      return size;
     }
     return this.queue.size();
   }
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/wan/parallel/ConcurrentParallelGatewaySenderQueue.java b/geode-core/src/main/java/org/apache/geode/internal/cache/wan/parallel/ConcurrentParallelGatewaySenderQueue.java
index 4fc940c..441f855 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/wan/parallel/ConcurrentParallelGatewaySenderQueue.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/wan/parallel/ConcurrentParallelGatewaySenderQueue.java
@@ -121,6 +121,11 @@ public class ConcurrentParallelGatewaySenderQueue implements RegionQueue {
     return this.processors[0].getQueue().size();
   }
 
+  public void displayContent() {
+    ParallelGatewaySenderQueue pgsq = (ParallelGatewaySenderQueue) (processors[0].getQueue());
+    pgsq.displayContent();
+  }
+
   public int localSize() {
     return localSize(false);
   }
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/wan/parallel/ParallelGatewaySenderQueue.java b/geode-core/src/main/java/org/apache/geode/internal/cache/wan/parallel/ParallelGatewaySenderQueue.java
index a6ead24..089ace5 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/wan/parallel/ParallelGatewaySenderQueue.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/wan/parallel/ParallelGatewaySenderQueue.java
@@ -1423,6 +1423,20 @@ public class ParallelGatewaySenderQueue implements RegionQueue {
     return size /* + sender.getTmpQueuedEventSize() */;
   }
 
+  public void displayContent() {
+    int size = 0;
+    for (PartitionedRegion prQ : this.userRegionNameToshadowPRMap.values()) {
+      if (prQ != null && prQ.getDataStore() != null) {
+        Set<BucketRegion> allLocalBuckets = prQ.getDataStore().getAllLocalBucketRegions();
+        for (BucketRegion br : allLocalBuckets) {
+          if (br.size() > 0) {
+            logger.info("GGG:bucketId=" + br.getId() + ":" + br.keySet() + ":" + br.entrySet());
+          }
+        }
+      }
+    }
+  }
+
   public int localSizeForProcessor() {
     int size = 0;
     for (PartitionedRegion prQ : this.userRegionNameToshadowPRMap.values()) {
diff --git a/geode-core/src/test/java/org/apache/geode/internal/cache/wan/asyncqueue/AsyncEventQueueStatsDUnitTest.java b/geode-core/src/test/java/org/apache/geode/internal/cache/wan/asyncqueue/AsyncEventQueueStatsDUnitTest.java
index e334ca7..849b823 100644
--- a/geode-core/src/test/java/org/apache/geode/internal/cache/wan/asyncqueue/AsyncEventQueueStatsDUnitTest.java
+++ b/geode-core/src/test/java/org/apache/geode/internal/cache/wan/asyncqueue/AsyncEventQueueStatsDUnitTest.java
@@ -84,7 +84,7 @@ public class AsyncEventQueueStatsDUnitTest extends AsyncEventQueueTestBase {
   /**
    * Two listeners added to the same RR.
    */
-  // @Test
+  @Test
   public void testAsyncStatsTwoListeners() throws Exception {
     Integer lnPort = createFirstLocatorWithDSId(1);
 
diff --git a/geode-wan/src/test/java/org/apache/geode/internal/cache/wan/WANTestBase.java b/geode-wan/src/test/java/org/apache/geode/internal/cache/wan/WANTestBase.java
index bc8274b..f5623ec 100644
--- a/geode-wan/src/test/java/org/apache/geode/internal/cache/wan/WANTestBase.java
+++ b/geode-wan/src/test/java/org/apache/geode/internal/cache/wan/WANTestBase.java
@@ -978,6 +978,8 @@ public class WANTestBase extends DistributedTestCase {
     Properties props = test.getDistributedSystemProperties();
     props.setProperty(MCAST_PORT, "0");
     props.setProperty(LOCATORS, "localhost[" + locPort + "]");
+    String logLevel = System.getProperty(LOG_LEVEL, "info");
+    props.setProperty(LOG_LEVEL, logLevel);
     InternalDistributedSystem ds = test.getSystem(props);
     CacheConfig cacheConfig = new CacheConfig();
     cacheConfig.setPdxPersistent(true);
diff --git a/geode-wan/src/test/java/org/apache/geode/internal/cache/wan/parallel/ParallelGatewaySenderOperationsDUnitTest.java b/geode-wan/src/test/java/org/apache/geode/internal/cache/wan/parallel/ParallelGatewaySenderOperationsDUnitTest.java
index 494e3b8..0acceb2 100644
--- a/geode-wan/src/test/java/org/apache/geode/internal/cache/wan/parallel/ParallelGatewaySenderOperationsDUnitTest.java
+++ b/geode-wan/src/test/java/org/apache/geode/internal/cache/wan/parallel/ParallelGatewaySenderOperationsDUnitTest.java
@@ -588,7 +588,7 @@ public class ParallelGatewaySenderOperationsDUnitTest extends WANTestBase {
     vm7.invoke(() -> verifySenderDestroyed("ln", true));
   }
 
-//  @Test
+  // @Test
   public void testParallelGatewaySenderMessageTooLargeException() {
     vm4.invoke(() -> System.setProperty(MAX_MESSAGE_SIZE_PROPERTY, String.valueOf(1024 * 1024)));
 

-- 
To stop receiving notification emails like this one, please contact
zhouxj@apache.org.