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

eshu11 pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/geode.git


The following commit(s) were added to refs/heads/develop by this push:
     new b2f643a  GEODE-8488: Don't set success status if queue is destroyed. 
(#5506)
b2f643a is described below

commit b2f643ae6539f08d6d4f138e463f13e24ef529e9
Author: Eric Shu <e...@pivotal.io>
AuthorDate: Thu Sep 10 16:37:05 2020 -0700

    GEODE-8488: Don't set success status if queue is destroyed. (#5506)
---
 .../internal/cache/ha/QueueSynchronizationProcessor.java    |  6 ++++--
 .../cache/ha/QueueSynchronizationProcessorTest.java         | 13 +++++++++++++
 2 files changed, 17 insertions(+), 2 deletions(-)

diff --git 
a/geode-core/src/main/java/org/apache/geode/internal/cache/ha/QueueSynchronizationProcessor.java
 
b/geode-core/src/main/java/org/apache/geode/internal/cache/ha/QueueSynchronizationProcessor.java
index 52cb741..0dd0fd9 100644
--- 
a/geode-core/src/main/java/org/apache/geode/internal/cache/ha/QueueSynchronizationProcessor.java
+++ 
b/geode-core/src/main/java/org/apache/geode/internal/cache/ha/QueueSynchronizationProcessor.java
@@ -125,8 +125,10 @@ public class QueueSynchronizationProcessor extends 
ReplyProcessor21 {
       try {
         if (cache != null) {
           List<EventID> dispatched = getDispatchedEvents(cache);
-          replyMessage.setEventIds(dispatched);
-          replyMessage.setSuccess();
+          if (dispatched != null) {
+            replyMessage.setEventIds(dispatched);
+            replyMessage.setSuccess();
+          }
         }
       } catch (RuntimeException | Error e) {
         replyException = new ReplyException(e);
diff --git 
a/geode-core/src/test/java/org/apache/geode/internal/cache/ha/QueueSynchronizationProcessorTest.java
 
b/geode-core/src/test/java/org/apache/geode/internal/cache/ha/QueueSynchronizationProcessorTest.java
index e27cb42..7a653a6 100644
--- 
a/geode-core/src/test/java/org/apache/geode/internal/cache/ha/QueueSynchronizationProcessorTest.java
+++ 
b/geode-core/src/test/java/org/apache/geode/internal/cache/ha/QueueSynchronizationProcessorTest.java
@@ -21,6 +21,7 @@ import static org.mockito.Mockito.RETURNS_DEEP_STUBS;
 import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.doThrow;
 import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.never;
 import static org.mockito.Mockito.spy;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
@@ -116,6 +117,18 @@ public class QueueSynchronizationProcessorTest {
   }
 
   @Test
+  public void 
processQueueSynchronizationMessageSendsFailedMessageIfDispatchedEventsAreNull() 
{
+    message = spy(new 
QueueSynchronizationProcessor.QueueSynchronizationMessage());
+    setupMessage();
+    doReturn(null).when(message).getDispatchedEvents(cache);
+
+    message.process(manager);
+
+    verify(replyMessage, never()).setSuccess();
+    verifyReplyMessageSent();
+  }
+
+  @Test
   public void getDispatchedEventsReturnsNullIfQueueIsNull() {
     message = spy(new 
QueueSynchronizationProcessor.QueueSynchronizationMessage());
     String regionName = "queueName";

Reply via email to