kirklund commented on a change in pull request #6008:
URL: https://github.com/apache/geode/pull/6008#discussion_r573344449



##########
File path: 
geode-core/src/main/java/org/apache/geode/internal/cache/AbstractRegion.java
##########
@@ -741,8 +741,8 @@ public boolean isPdxTypesRegion() {
         // This is for all regions except pdx Region
         if (!isPdxTypesRegion) {
           // Make sure we are distributing to only those senders whose id
-          // is available on this region
-          if (allGatewaySenderIds.contains(sender.getId())) {
+          // is available on this region and whose state is running
+          if (allGatewaySenderIds.contains(sender.getId()) && 
sender.isRunning()) {

Review comment:
       Please consider writing a unit test for any code that only has 
integration/distributed test coverage. The following example is using a basic 
technique from Working Effectively with Legacy Code.
   
   For example, you could create a new method called:
   ```
     @VisibleForTesting
     static boolean hasRunningGatewaySender(Set<GatewaySender> senders, 
GatewaySender sender) {
       return senders.contains(sender) && sender.isRunning();
     }
   ```
   And then you can add unit tests for this new method to `AbstractRegionTest`:
   ```
   import java.util.Collections;
   import org.apache.geode.cache.wan.GatewaySender;
   
     @Test
     public void hasRunningGatewaySender_returnsFalse_ifSendersIsEmpty() {
       GatewaySender sender = mock(GatewaySender.class);
   
       boolean value = 
AbstractRegion.hasRunningGatewaySender(Collections.emptySet(), sender);
   
       assertThat(value).isFalse();
     }
   ```
   You can also write it as a non-static method, but the unit tests will 
require a bit more setUp.




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to