@Override protected boolean needsTombstoneGCKeysForClients(EventID eventID, FilterInfo clientRouting) { if (eventID == null) { return false; } if (CacheClientNotifier.getInstance() == null) { return false; } if (clientRouting != null) { return true; } if (getFilterProfile() != null) { return true; } return false; }
public void waitTillCacheClientProxyHasBeenPaused() { await().until(() -> { CacheClientNotifier clientNotifier = CacheClientNotifier.getInstance(); Collection<CacheClientProxy> clientProxies = clientNotifier.getClientProxies(); for (CacheClientProxy clientProxy : clientProxies) { if (clientProxy.isPaused()) { return true; } } return false; }); }
/** * this method uses CacheClientNotifier to try to obtain an ID that is equal to this one. This is * used during deserialization to reduce storage overhead. */ private ClientProxyMembershipID canonicalReference() { CacheClientNotifier ccn = CacheClientNotifier.getInstance(); if (ccn != null) { CacheClientProxy cp = ccn.getClientProxy(this, true); if (cp != null) { if (this.isCanonicalEquals(cp.getProxyID())) { return cp.getProxyID(); } } } return this; }
try { long logFrequency = CacheClientNotifier.DEFAULT_LOG_FREQUENCY; CacheClientNotifier ccn = CacheClientNotifier.getInstance(); if (ccn != null) { // check needed for junit tests logFrequency = ccn.getLogFrequency();
CacheClientNotifier ccn = CacheClientNotifier.getInstance(); if (ccn == null) { results.add(new CliFunctionResult(memberNameOrId, CliFunctionResult.StatusState.ERROR,
CacheClientNotifier ccn = CacheClientNotifier.getInstance(); if (ccn != null && ccn.getHaContainer() != null) { CacheClientProxy proxy =
@Override public void fromData(DataInput in) throws IOException, ClassNotFoundException { this._operation = EnumListenerEvent.getEnumListenerEvent(in.readByte()); this._regionName = DataSerializer.readString(in); this._keyOfInterest = DataSerializer.readObject(in); this._value = DataSerializer.readByteArray(in); this._valueIsObject = in.readByte(); this._membershipId = ClientProxyMembershipID.readCanonicalized(in); // this._eventIdentifier = (EventID)DataSerializer.readObject(in);; this._shouldConflate = in.readBoolean(); this._isInterestListPassed = in.readBoolean(); this.deltaBytes = DataSerializer.readByteArray(in); this._hasCqs = in.readBoolean(); // if (this._hasCqs) { // this._clientCqs = DataSerializer.readHashMap(in); // } this._callbackArgument = DataSerializer.readObject(in); CacheClientNotifier ccn = CacheClientNotifier.getInstance(); HashSet ids = DataSerializer.readHashSet(in); if (ccn != null && ids != null) { // use canonical IDs in servers ids = (HashSet) ccn.getProxyIDs(ids); } this._clientInterestList = ids; ids = DataSerializer.readHashSet(in); if (ccn != null && ids != null) { ids = (HashSet) ccn.getProxyIDs(ids); } this._clientInterestListInv = ids; this.versionTag = (VersionTag) DataSerializer.readObject(in); }
this.instantiatorClassName = DataSerializer.readNonPrimitiveClassName(in); this.instantiatedClassName = DataSerializer.readNonPrimitiveClassName(in); if (CacheClientNotifier.getInstance() != null) {
@Override protected void process(ClusterDistributionManager dm) { if (CacheClientNotifier.getInstance() != null) {
@Override protected boolean operateOnPartitionedRegion(final ClusterDistributionManager dm, PartitionedRegion r, long startTime) throws ForceReattemptException { if (logger.isTraceEnabled(LogMarker.DM_VERBOSE)) { logger.trace("PRTombstoneMessage operateOnRegion: {}", r.getFullPath()); } FilterProfile fp = r.getFilterProfile(); if (this.keys != null && this.keys.size() > 0) { // sanity check if (fp != null && CacheClientNotifier.getInstance() != null && this.eventID != null) { RegionEventImpl regionEvent = new RegionEventImpl(r, Operation.REGION_DESTROY, null, true, r.getGemFireCache().getMyId()); regionEvent.setLocalFilterInfo(fp.getLocalFilterRouting(regionEvent)); ClientUpdateMessage clientMessage = ClientTombstoneMessage.gc(r, this.keys, this.eventID); CacheClientNotifier.notifyClients(regionEvent, clientMessage); } } return true; }
CacheClientNotifier ccn = CacheClientNotifier.getInstance();
CacheClientNotifier ccn = CacheClientNotifier.getInstance(); if (ccn == null || ccn.getHaContainer() == null) { logger.info("HA Container not found during HA Region GII for {}", haReg);
CacheClientProxy proxy = CacheClientNotifier.getInstance().getClientProxy(proxyId); if (proxy != null) { return proxy.getVersion();
private CliFunctionResult createFunctionResult(String memberNameOrId, String durableClientId) { try { CacheClientNotifier cacheClientNotifier = CacheClientNotifier.getInstance(); if (cacheClientNotifier == null) { return new CliFunctionResult(memberNameOrId, CliFunctionResult.StatusState.ERROR, CliStrings.NO_CLIENT_FOUND); } CacheClientProxy ccp = cacheClientNotifier.getClientProxy(durableClientId); if (ccp == null) { return new CliFunctionResult(memberNameOrId, CliFunctionResult.StatusState.ERROR, CliStrings.format(CliStrings.NO_CLIENT_FOUND_WITH_CLIENT_ID, durableClientId)); } boolean isClosed = cacheClientNotifier.closeDurableClientProxy(durableClientId); if (isClosed) { return new CliFunctionResult(memberNameOrId, CliFunctionResult.StatusState.OK, CliStrings.format(CliStrings.CLOSE_DURABLE_CLIENTS__SUCCESS, durableClientId)); } else { return new CliFunctionResult(memberNameOrId, CliFunctionResult.StatusState.ERROR, CliStrings.format(CliStrings.NO_CLIENT_FOUND_WITH_CLIENT_ID, durableClientId)); } } catch (Exception e) { return new CliFunctionResult(memberNameOrId, CliFunctionResult.StatusState.ERROR, e.getMessage()); } }
@Override protected void process(ClusterDistributionManager dm) { // Get the proxy for the proxy id try { CacheClientNotifier clientNotifier = CacheClientNotifier.getInstance(); if (clientNotifier != null) { CacheClientProxy proxy = clientNotifier.getClientProxy(this.clientId); // If this VM contains a proxy for the requested proxy id, forward the // message on to the proxy for processing if (proxy != null) { proxy.processInterestMessage(this.clientMessage); } } } finally { ReplyMessage reply = new ReplyMessage(); reply.setProcessorId(this.processorId); reply.setRecipient(getSender()); try { dm.putOutgoing(reply); } catch (CancelException ignore) { // can't send a reply, so ignore the exception } } }
@Override protected void notifyClientsOfTombstoneGC(Map<VersionSource, Long> regionGCVersions, Set<Object> removedKeys, EventID eventID, FilterInfo routing) { if (CacheClientNotifier.getInstance() != null) { // Only route the event to clients interested in the partitioned region. // We do this by constructing a region-level event and then use it to // have the filter profile ferret out all of the clients that have interest // in this region FilterProfile fp = getFilterProfile(); // fix for bug #46309 - don't send null/empty key set to clients if ((removedKeys != null && !removedKeys.isEmpty()) // bug #51877 - NPE in clients && (routing != null || (fp != null && fp.hasInterest()))) { RegionEventImpl regionEvent = new RegionEventImpl(getPartitionedRegion(), Operation.REGION_DESTROY, null, true, getMyId()); FilterInfo clientRouting = routing; if (clientRouting == null) { clientRouting = fp.getLocalFilterRouting(regionEvent); } regionEvent.setLocalFilterInfo(clientRouting); ClientUpdateMessage clientMessage = ClientTombstoneMessage.gc(getPartitionedRegion(), removedKeys, eventID); CacheClientNotifier.notifyClients(regionEvent, clientMessage); } } }
/** * pass tombstone garbage-collection info to clients * * @param eventID the ID of the event (see bug #50683) * @param routing routing info (routing is computed if this is null) */ protected void notifyClientsOfTombstoneGC(Map<VersionSource, Long> regionGCVersions, Set<Object> keysRemoved, EventID eventID, FilterInfo routing) { if (CacheClientNotifier.getInstance() != null) { // Only route the event to clients interested in the partitioned region. // We do this by constructing a region-level event and then use it to // have the filter profile ferret out all of the clients that have interest // in this region FilterProfile fp = getFilterProfile(); if (fp != null || routing != null) { // null check - fix for bug #45614 RegionEventImpl regionEvent = new RegionEventImpl(this, Operation.REGION_DESTROY, null, true, getMyId()); regionEvent.setEventID(eventID); FilterInfo clientRouting = routing; if (clientRouting == null) { clientRouting = fp.getLocalFilterRouting(regionEvent); } regionEvent.setLocalFilterInfo(clientRouting); ClientUpdateMessage clientMessage = ClientTombstoneMessage.gc(this, regionGCVersions, eventID); CacheClientNotifier.notifyClients(regionEvent, clientMessage); } } }
private CliFunctionResult createFunctionResult(String memberNameOrId, String durableClientId, String cqName) { try { CacheClientNotifier cacheClientNotifier = CacheClientNotifier.getInstance();
private CliFunctionResult createFunctionResult(String memberNameOrId, String durableClientId, String cqName) { CacheClientNotifier cacheClientNotifier = CacheClientNotifier.getInstance(); try { if (cacheClientNotifier == null) { return new CliFunctionResult(memberNameOrId, CliFunctionResult.StatusState.ERROR, CliStrings.NO_CLIENT_FOUND); } CacheClientProxy cacheClientProxy = cacheClientNotifier.getClientProxy(durableClientId); if (cacheClientProxy == null) { return new CliFunctionResult(memberNameOrId, CliFunctionResult.StatusState.ERROR, CliStrings.format(CliStrings.NO_CLIENT_FOUND_WITH_CLIENT_ID, durableClientId)); } if (cacheClientNotifier.closeClientCq(durableClientId, cqName)) { return new CliFunctionResult(memberNameOrId, CliFunctionResult.StatusState.OK, CliStrings.format(CliStrings.CLOSE_DURABLE_CQS__SUCCESS, cqName, durableClientId)); } else { return new CliFunctionResult(memberNameOrId, CliFunctionResult.StatusState.ERROR, CliStrings.format(CliStrings.CLOSE_DURABLE_CQS__UNABLE__TO__CLOSE__CQ, cqName, durableClientId)); } } catch (Exception e) { return new CliFunctionResult(memberNameOrId, e); } }
private ClientHealthStatus getClientHealthStatus(ClientConnInfo connInfo) { ClientProxyMembershipID proxyId = connInfo.getClientId(); CacheClientProxy proxy = CacheClientNotifier.getInstance().getClientProxy(proxyId);