/** Returns true if the ExpirationAction is a distributed action. */ protected boolean isDistributedAction() { ExpirationAction action = getAction(); return action != null && (action.isInvalidate() || action.isDestroy()); }
public static void validatePRRegionExpirationAttributes(ExpirationAttributes expAtts) { if (expAtts.getTimeout() > 0) { ExpirationAction expAction = expAtts.getAction(); if (expAction.isInvalidate() || expAction.isLocalInvalidate()) { throw new IllegalStateException( "ExpirationAction INVALIDATE or LOCAL_INVALIDATE for region is not supported for Partitioned Region."); } else if (expAction.isDestroy() || expAction.isLocalDestroy()) { throw new IllegalStateException( "ExpirationAction DESTROY or LOCAL_DESTROY for region is not supported for Partitioned Region."); } } }
protected boolean expire(ExpirationAction action, boolean isPending) throws CacheException { if (action.isInvalidate()) return invalidate(); if (action.isDestroy()) return destroy(isPending); if (action.isLocalInvalidate()) return localInvalidate(); if (action.isLocalDestroy()) return localDestroy(); throw new InternalGemFireError( String.format("unrecognized expiration action: %s", action)); }
if (getLocalRegion().getScope().isGlobal() && (action.isDestroy() || action.isInvalidate())) { Lock lock = getLocalRegion().getDistributedLock(getCheckedRegionEntry().getKey()); lock.lock();