gesterzhou commented on code in PR #7670: URL: https://github.com/apache/geode/pull/7670#discussion_r875385351
########## geode-core/src/main/java/org/apache/geode/internal/cache/InitialImageOperation.java: ########## @@ -1052,19 +1052,23 @@ protected RegionVersionVector getRVVFromProvider(final ClusterDistributionManage /** * Compare the received RVV with local RVV and return a set of keys for unfinished operations. * - * @param remoteRVV RVV from provider + * @param remoteRVV RVV from provider to be filled with unfinished operations * @param localRVV RVV recovered from disk + * @param receivedRVV original RVV from provider to remove departed members * @return set for keys of unfinished operations. */ protected Set<Object> processReceivedRVV(RegionVersionVector remoteRVV, - RegionVersionVector localRVV) { + RegionVersionVector localRVV, RegionVersionVector receivedRVV) { if (remoteRVV == null) { return null; } // calculate keys for unfinished ops + Set<VersionSource> foundIds = new HashSet<>(); HashSet<Object> keys = new HashSet<>(); - if (region.getDataPolicy().withPersistence() - && localRVV.isNewerThanOrCanFillExceptionsFor(remoteRVV)) { + Set<VersionSource> departedMemberSet = receivedRVV.getDepartedMembersSet(); + boolean isPersistentRegion = region.getDataPolicy().withPersistence(); + if ((isPersistentRegion && localRVV.isNewerThanOrCanFillExceptionsFor(remoteRVV)) + || !departedMemberSet.isEmpty()) { Review Comment: departedMemberSet will always be empty for persistentRegion -- 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. To unsubscribe, e-mail: notifications-unsubscr...@geode.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org