Source:
private void clientInvalidated(ClientDescriptor clientDescriptor, int invalidationId) { InvalidationHolder invalidationHolder = clientsWaitingForInvalidation.get(invalidationId); if (invalidationHolder == null) { LOGGER.warn("Ignoring invalidation from client " + clientDescriptor); return; } invalidationHolder.clientsHavingToInvalidate.remove(clientDescriptor); if (invalidationHolder.clientsHavingToInvalidate.isEmpty()) { if (clientsWaitingForInvalidation.remove(invalidationId) != null) { try { Long key = invalidationHolder.key; boolean isStrong = ehcacheStateService.getStore(invalidationHolder.cacheId).getStoreConfiguration().getConsistency() == Consistency.STRONG; if (key == null) { if (isStrong) { clientCommunicator.sendNoResponse(invalidationHolder.clientDescriptorWaitingForInvalidation, allInvalidationDone(invalidationHolder.cacheId)); LOGGER.debug("SERVER: notifying originating client that all other clients invalidated all in cache from (ID {})", invalidationHolder.cacheId, clientDescriptor, invalidationId); } else { entityMessenger.messageSelf(new ClearInvalidationCompleteMessage(invalidationHolder.cacheId)); } } else { if (isStrong) { clientCommunicator.sendNoResponse(invalidationHolder.clientDescriptorWaitingForInvalidation, hashInvalidationDone(invalidationHolder.cacheId, key)); LOGGER.debug("SERVER: notifying originating client that all other clients invalidated key in cache from (ID {})", key, invalidationHolder.cacheId, clientDescriptor, invalidationId); } else { entityMessenger.messageSelf(new InvalidationCompleteMessage(invalidationHolder.cacheId, key)); } } } catch (MessageCodecException mce) { LOGGER.error("Codec error", mce); } } } }

Target:
private void clientInvalidated(ClientDescriptor clientDescriptor, int invalidationId) { InvalidationHolder invalidationHolder = clientsWaitingForInvalidation.get(invalidationId); if (invalidationHolder == null) { LOGGER.debug("Ignoring invalidation from client " + clientDescriptor); return; } invalidationHolder.clientsHavingToInvalidate.remove(clientDescriptor); if (invalidationHolder.clientsHavingToInvalidate.isEmpty()) { if (clientsWaitingForInvalidation.remove(invalidationId) != null) { try { Long key = invalidationHolder.key; boolean isStrong = ehcacheStateService.getStore(invalidationHolder.cacheId).getStoreConfiguration().getConsistency() == Consistency.STRONG; if (key == null) { if (isStrong) { clientCommunicator.sendNoResponse(invalidationHolder.clientDescriptorWaitingForInvalidation, allInvalidationDone(invalidationHolder.cacheId)); LOGGER.debug("SERVER: notifying originating client that all other clients invalidated all in cache from (ID {})", invalidationHolder.cacheId, clientDescriptor, invalidationId); } else { entityMessenger.messageSelf(new ClearInvalidationCompleteMessage(invalidationHolder.cacheId)); } } else { if (isStrong) { clientCommunicator.sendNoResponse(invalidationHolder.clientDescriptorWaitingForInvalidation, hashInvalidationDone(invalidationHolder.cacheId, key)); LOGGER.debug("SERVER: notifying originating client that all other clients invalidated key in cache from (ID {})", key, invalidationHolder.cacheId, clientDescriptor, invalidationId); } else { entityMessenger.messageSelf(new InvalidationCompleteMessage(invalidationHolder.cacheId, key)); } } } catch (MessageCodecException mce) { throw new AssertionError("Codec error", mce); } } } }