You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@geode.apache.org by up...@apache.org on 2016/02/04 02:20:16 UTC

[3/3] incubator-geode git commit: GEODE-867: Reapplying changes to pauseSender to wait for the pause

GEODE-867: Reapplying changes to pauseSender to wait for the pause

This reverts commit 09bd5307994bd970bdf3bf4f1d5f302021e8b8e6. In
addition to reapplying the changes, I fixed the issue that required me
to revert those changes. Secondary gateway senders of serial gateways
should not wait for the pause flag to become true, because secondary
dispatchers are already paused in waiting to become primary.


Project: http://git-wip-us.apache.org/repos/asf/incubator-geode/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-geode/commit/806142d7
Tree: http://git-wip-us.apache.org/repos/asf/incubator-geode/tree/806142d7
Diff: http://git-wip-us.apache.org/repos/asf/incubator-geode/diff/806142d7

Branch: refs/heads/develop
Commit: 806142d7629182c39f830f9ab2f178d4061d2e8a
Parents: 359a377
Author: Dan Smith <up...@apache.org>
Authored: Wed Jan 27 12:54:36 2016 -0800
Committer: Dan Smith <up...@apache.org>
Committed: Wed Feb 3 17:17:22 2016 -0800

----------------------------------------------------------------------
 .../AbstractGatewaySenderEventProcessor.java    |  3 ++-
 .../gemfire/internal/cache/wan/WANTestBase.java | 23 ++------------------
 ...arallelGatewaySenderOperationsDUnitTest.java |  8 +++----
 .../ParallelWANConflationDUnitTest.java         |  8 +++----
 .../wan/parallel/ParallelWANStatsDUnitTest.java |  8 +++----
 .../wan/serial/SerialWANStatsDUnitTest.java     |  2 +-
 6 files changed, 17 insertions(+), 35 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/806142d7/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/wan/AbstractGatewaySenderEventProcessor.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/wan/AbstractGatewaySenderEventProcessor.java b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/wan/AbstractGatewaySenderEventProcessor.java
index c19857f..86ecce1 100644
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/wan/AbstractGatewaySenderEventProcessor.java
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/wan/AbstractGatewaySenderEventProcessor.java
@@ -280,7 +280,8 @@ public abstract class AbstractGatewaySenderEventProcessor extends Thread {
     }
     boolean interrupted=false;
     synchronized(this.pausedLock) {
-      while(!isDispatcherWaiting && !isStopped()) {
+      while(!isDispatcherWaiting && !isStopped()
+            && sender.getSenderAdvisor().isPrimary()) {
         try {
           this.pausedLock.wait();
         } catch(InterruptedException e) {

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/806142d7/gemfire-wan/src/test/java/com/gemstone/gemfire/internal/cache/wan/WANTestBase.java
----------------------------------------------------------------------
diff --git a/gemfire-wan/src/test/java/com/gemstone/gemfire/internal/cache/wan/WANTestBase.java b/gemfire-wan/src/test/java/com/gemstone/gemfire/internal/cache/wan/WANTestBase.java
index f0c01ab..1afba75 100644
--- a/gemfire-wan/src/test/java/com/gemstone/gemfire/internal/cache/wan/WANTestBase.java
+++ b/gemfire-wan/src/test/java/com/gemstone/gemfire/internal/cache/wan/WANTestBase.java
@@ -2162,33 +2162,14 @@ public class WANTestBase extends DistributedTestCase{
         }
       }
       sender.pause();
+      ((AbstractGatewaySender) sender).getEventProcessor().waitForDispatcherToPause();
+      
     }
     finally {
       exp.remove();
       exln.remove();
     }
   }
-      
-  public static void pauseSenderAndWaitForDispatcherToPause(String senderId) {
-    final ExpectedException exln = addExpectedException("Could not connect");
-    ExpectedException exp = addExpectedException(ForceReattemptException.class
-        .getName());
-    try {
-      Set<GatewaySender> senders = cache.getGatewaySenders();
-      GatewaySender sender = null;
-      for (GatewaySender s : senders) {
-        if (s.getId().equals(senderId)) {
-          sender = s;
-          break;
-        }
-      }
-      sender.pause();
-      ((AbstractGatewaySender)sender).getEventProcessor().waitForDispatcherToPause();
-    } finally {
-      exp.remove();
-      exln.remove();
-    }    
-  }
   
   public static void resumeSender(String senderId) {
     final ExpectedException exln = addExpectedException("Could not connect");

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/806142d7/gemfire-wan/src/test/java/com/gemstone/gemfire/internal/cache/wan/parallel/ParallelGatewaySenderOperationsDUnitTest.java
----------------------------------------------------------------------
diff --git a/gemfire-wan/src/test/java/com/gemstone/gemfire/internal/cache/wan/parallel/ParallelGatewaySenderOperationsDUnitTest.java b/gemfire-wan/src/test/java/com/gemstone/gemfire/internal/cache/wan/parallel/ParallelGatewaySenderOperationsDUnitTest.java
index 68614a0..0b3f3bd 100644
--- a/gemfire-wan/src/test/java/com/gemstone/gemfire/internal/cache/wan/parallel/ParallelGatewaySenderOperationsDUnitTest.java
+++ b/gemfire-wan/src/test/java/com/gemstone/gemfire/internal/cache/wan/parallel/ParallelGatewaySenderOperationsDUnitTest.java
@@ -102,10 +102,10 @@ public class ParallelGatewaySenderOperationsDUnitTest extends WANTestBase {
     vm4.invoke(WANTestBase.class, "doPuts", new Object[] { testName + "_PR", 100 });
     
     //now, pause all of the senders
-    vm4.invoke(WANTestBase.class, "pauseSenderAndWaitForDispatcherToPause", new Object[] { "ln" });
-    vm5.invoke(WANTestBase.class, "pauseSenderAndWaitForDispatcherToPause", new Object[] { "ln" });
-    vm6.invoke(WANTestBase.class, "pauseSenderAndWaitForDispatcherToPause", new Object[] { "ln" });
-    vm7.invoke(WANTestBase.class, "pauseSenderAndWaitForDispatcherToPause", new Object[] { "ln" });
+    vm4.invoke(WANTestBase.class, "pauseSender", new Object[] { "ln" });
+    vm5.invoke(WANTestBase.class, "pauseSender", new Object[] { "ln" });
+    vm6.invoke(WANTestBase.class, "pauseSender", new Object[] { "ln" });
+    vm7.invoke(WANTestBase.class, "pauseSender", new Object[] { "ln" });
     
     //SECOND RUN: keep one thread doing puts to the region
     vm4.invokeAsync(WANTestBase.class, "doPuts", new Object[] { testName + "_PR", 1000 });

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/806142d7/gemfire-wan/src/test/java/com/gemstone/gemfire/internal/cache/wan/parallel/ParallelWANConflationDUnitTest.java
----------------------------------------------------------------------
diff --git a/gemfire-wan/src/test/java/com/gemstone/gemfire/internal/cache/wan/parallel/ParallelWANConflationDUnitTest.java b/gemfire-wan/src/test/java/com/gemstone/gemfire/internal/cache/wan/parallel/ParallelWANConflationDUnitTest.java
index bce63f5..763b9c4 100644
--- a/gemfire-wan/src/test/java/com/gemstone/gemfire/internal/cache/wan/parallel/ParallelWANConflationDUnitTest.java
+++ b/gemfire-wan/src/test/java/com/gemstone/gemfire/internal/cache/wan/parallel/ParallelWANConflationDUnitTest.java
@@ -430,10 +430,10 @@ public class ParallelWANConflationDUnitTest extends WANTestBase {
   }
 
   protected void pauseSenders() {
-    vm4.invoke(() ->pauseSenderAndWaitForDispatcherToPause( "ln" ));
-    vm5.invoke(() ->pauseSenderAndWaitForDispatcherToPause( "ln" ));
-    vm6.invoke(() ->pauseSenderAndWaitForDispatcherToPause( "ln" ));
-    vm7.invoke(() ->pauseSenderAndWaitForDispatcherToPause( "ln" ));
+    vm4.invoke(() ->pauseSender( "ln" ));
+    vm5.invoke(() ->pauseSender( "ln" ));
+    vm6.invoke(() ->pauseSender( "ln" ));
+    vm7.invoke(() ->pauseSender( "ln" ));
   }
 
   protected void startSenders() {

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/806142d7/gemfire-wan/src/test/java/com/gemstone/gemfire/internal/cache/wan/parallel/ParallelWANStatsDUnitTest.java
----------------------------------------------------------------------
diff --git a/gemfire-wan/src/test/java/com/gemstone/gemfire/internal/cache/wan/parallel/ParallelWANStatsDUnitTest.java b/gemfire-wan/src/test/java/com/gemstone/gemfire/internal/cache/wan/parallel/ParallelWANStatsDUnitTest.java
index cb3c49c..2971749 100644
--- a/gemfire-wan/src/test/java/com/gemstone/gemfire/internal/cache/wan/parallel/ParallelWANStatsDUnitTest.java
+++ b/gemfire-wan/src/test/java/com/gemstone/gemfire/internal/cache/wan/parallel/ParallelWANStatsDUnitTest.java
@@ -475,10 +475,10 @@ public class ParallelWANStatsDUnitTest extends WANTestBase{
   protected void startPausedSenders() {
     startSenders();
     
-    vm4.invoke(() ->pauseSenderAndWaitForDispatcherToPause( "ln" ));
-    vm5.invoke(() ->pauseSenderAndWaitForDispatcherToPause( "ln" ));
-    vm6.invoke(() ->pauseSenderAndWaitForDispatcherToPause( "ln" ));
-    vm7.invoke(() ->pauseSenderAndWaitForDispatcherToPause( "ln" ));
+    vm4.invoke(() ->pauseSender( "ln" ));
+    vm5.invoke(() ->pauseSender( "ln" ));
+    vm6.invoke(() ->pauseSender( "ln" ));
+    vm7.invoke(() ->pauseSender( "ln" ));
   }
 
   protected void createReceiver(VM vm, Integer nyPort) {

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/806142d7/gemfire-wan/src/test/java/com/gemstone/gemfire/internal/cache/wan/serial/SerialWANStatsDUnitTest.java
----------------------------------------------------------------------
diff --git a/gemfire-wan/src/test/java/com/gemstone/gemfire/internal/cache/wan/serial/SerialWANStatsDUnitTest.java b/gemfire-wan/src/test/java/com/gemstone/gemfire/internal/cache/wan/serial/SerialWANStatsDUnitTest.java
index d946d47..2342c00 100644
--- a/gemfire-wan/src/test/java/com/gemstone/gemfire/internal/cache/wan/serial/SerialWANStatsDUnitTest.java
+++ b/gemfire-wan/src/test/java/com/gemstone/gemfire/internal/cache/wan/serial/SerialWANStatsDUnitTest.java
@@ -537,7 +537,7 @@ public class SerialWANStatsDUnitTest extends WANTestBase {
 
     vm4.invoke(WANTestBase.class, "startSender", new Object[] { "ln" });
 
-    vm4.invoke(WANTestBase.class, "pauseSenderAndWaitForDispatcherToPause", new Object[] { "ln" });
+    vm4.invoke(WANTestBase.class, "pauseSender", new Object[] { "ln" });
 
     vm2.invoke(WANTestBase.class, "createPartitionedRegion", new Object[] {
         testName, null,1, 100, isOffHeap()  });