gesterzhou commented on a change in pull request #6093:
URL: https://github.com/apache/geode/pull/6093#discussion_r595357590



##########
File path: 
geode-core/src/main/java/org/apache/geode/internal/cache/persistence/PersistenceAdvisorImpl.java
##########
@@ -533,7 +533,12 @@ public boolean 
checkMyStateOnMembers(Set<InternalDistributedMember> replicates)
         String message = String.format(
             "Region %s remote member %s with persistent data %s was not part 
of the same distributed system as the local data from %s",
             regionPath, member, remoteId, myId);
-        throw new ConflictingPersistentDataException(message);
+        replicates.remove(member);

Review comment:
       The replicates are supposed to be adjusted here. We should not create a 
copy.
   the whole method is to remove some of the entries from the replicates. It 
will remove the EQUAL ones, and offline ones, then I add the logic to remove 
the ones who don't know me. That means I will not GII from all these removed 
replicates as candidates. 
   If the method removed all the replicates by other cases (such as EQUAL or 
offline), then I will recover from my own disk. 
   As long as there's one entry in replicates, will request GII from it. 
   If the last replicate is removed by this use case, should throw exception.




----------------------------------------------------------------
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