private void addInflightInvalidationsForStrongCache(ClientDescriptor clientDescriptor, ClusterTierReconnectMessage reconnectMessage, ServerSideServerStore serverStore) { if (serverStore.getStoreConfiguration().getConsistency().equals(Consistency.STRONG)) { Set<Long> invalidationsInProgress = reconnectMessage.getInvalidationsInProgress(); LOGGER.debug("Number of Inflight Invalidations from client ID {} for cache {} is {}.", clientDescriptor.getSourceId().toLong(), storeIdentifier, invalidationsInProgress .size()); inflightInvalidations.add(new InvalidationTuple(clientDescriptor, invalidationsInProgress, reconnectMessage.isClearInProgress())); } }
LOGGER.debug("Stalling all operations for cluster tier {} for firing inflight invalidations again.", storeIdentifier); tmpInflightInvalidations.forEach(invalidationState -> { if (invalidationState.isClearInProgress()) { invalidateAll(invalidationState.getClientDescriptor()); invalidationState.getInvalidationsInProgress() .forEach(hashInvalidationToBeResent -> invalidateHashForClient(invalidationState.getClientDescriptor(), hashInvalidationToBeResent)); });
private void addInflightInvalidationsForEventualCaches() { InvalidationTracker invalidationTracker = stateService.getInvalidationTracker(storeIdentifier); if (invalidationTracker != null) { inflightInvalidations.add(new InvalidationTuple(null, invalidationTracker.getTrackedKeys(), invalidationTracker.isClearInProgress())); invalidationTracker.clear(); } }