Repository: geode Updated Branches: refs/heads/feature/GEM-1353 f1b14b0dd -> 8fdd0fbd7
geode-2848: when found all the partitioned region is destroyed, add back the events Project: http://git-wip-us.apache.org/repos/asf/geode/repo Commit: http://git-wip-us.apache.org/repos/asf/geode/commit/8fdd0fbd Tree: http://git-wip-us.apache.org/repos/asf/geode/tree/8fdd0fbd Diff: http://git-wip-us.apache.org/repos/asf/geode/diff/8fdd0fbd Branch: refs/heads/feature/GEM-1353 Commit: 8fdd0fbd7284077e7244808b8321bdaf843957c2 Parents: f1b14b0 Author: zhouxh <[email protected]> Authored: Mon May 1 14:41:22 2017 -0700 Committer: zhouxh <[email protected]> Committed: Mon May 1 14:41:22 2017 -0700 ---------------------------------------------------------------------- .../cache/wan/parallel/ParallelGatewaySenderQueue.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/geode/blob/8fdd0fbd/geode-core/src/main/java/org/apache/geode/internal/cache/wan/parallel/ParallelGatewaySenderQueue.java ---------------------------------------------------------------------- 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 9696b90..82e6f68 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 @@ -1724,6 +1724,8 @@ public class ParallelGatewaySenderQueue implements RegionQueue { ParallelQueueRemovalMessage pqrm = new ParallelQueueRemovalMessage(temp); pqrm.setRecipients(recipients); dm.putOutgoing(pqrm); + } else { + regionToDispatchedKeysMap.putAll(temp); } } // be somewhat tolerant of failures @@ -1773,8 +1775,10 @@ public class ParallelGatewaySenderQueue implements RegionQueue { private Set<InternalDistributedMember> getAllRecipients(GemFireCacheImpl cache, Map map) { Set recipients = new ObjectOpenHashSet(); for (Object pr : map.keySet()) { - recipients.addAll(((PartitionedRegion) (cache.getRegion((String) pr))).getRegionAdvisor() - .adviseDataStore()); + PartitionedRegion partitionedRegion = (PartitionedRegion) cache.getRegion((String) pr); + if (partitionedRegion != null && partitionedRegion.getRegionAdvisor() != null) { + recipients.addAll(partitionedRegion.getRegionAdvisor().adviseDataStore()); + } } return recipients; }
