@Override public ClientUpdater createServerToClientConnection(Endpoint endpoint, QueueManager qManager, boolean isPrimary, ClientUpdater failedUpdater) { String clientUpdateName = CacheClientUpdater.CLIENT_UPDATER_THREAD_NAME + " on " + endpoint.getMemberId() + " port " + endpoint.getLocation().getPort(); if (logger.isDebugEnabled()) { logger.debug("Establishing: {}", clientUpdateName); } // Launch the thread CacheClientUpdater updater = connectionConnector.connectServerToClient(endpoint, qManager, isPrimary, failedUpdater, clientUpdateName); return updater; } }
@Override protected Object processResponse(Message msg, Connection con) throws Exception { processAck(msg, "invalidate"); boolean isReply = (msg.getMessageType() == MessageType.REPLY); int partIdx = 0; int flags = 0; if (isReply) { flags = msg.getPart(partIdx++).getInt(); if ((flags & HAS_VERSION_TAG) != 0) { VersionTag tag = (VersionTag) msg.getPart(partIdx++).getObject(); // we use the client's ID since we apparently don't track the server's ID in connections tag.replaceNullIDs((InternalDistributedMember) con.getEndpoint().getMemberId()); this.event.setVersionTag(tag); if (logger.isDebugEnabled()) { logger.debug("received Invalidate response with {}", tag); } } else { if (logger.isDebugEnabled()) { logger.debug("received Invalidate response"); } } } return null; }
@Override public void handle(ChunkedMessage cm) throws Exception { Part part = cm.getPart(0); try { Object o = part.getObject(); if (o instanceof Throwable) { String s = "While performing a remote getAll"; exceptionRef[0] = new ServerOperationException(s, (Throwable) o); } else { VersionedObjectList chunk = (VersionedObjectList) o; chunk.replaceNullIDs(con.getEndpoint().getMemberId()); result.addAll(chunk); } } catch (Exception e) { exceptionRef[0] = new ServerOperationException("Unable to deserialize value", e); } } });
VersionTag tag = (VersionTag) msg.getPart(partIdx++).getObject(); tag.replaceNullIDs((InternalDistributedMember) con.getEndpoint().getMemberId()); this.event.setVersionTag(tag); if (logger.isDebugEnabled()) {
} else { VersionedObjectList chunk = (VersionedObjectList) o; chunk.replaceNullIDs(con.getEndpoint().getMemberId()); result.addAll(chunk);
if (e.getCause() instanceof PutAllPartialResultException) { PutAllPartialResultException cause = (PutAllPartialResultException) e.getCause(); cause.getSucceededKeysAndVersions().replaceNullIDs(con.getEndpoint().getMemberId()); throw cause; } else {
if (this.serverAffinity.get() && this.affinityServerLocation.get() == null) { if (logger.isDebugEnabled()) { logger.debug("setting server affinity to {} server:{}", conn.getEndpoint().getMemberId(), conn.getServer());
} else { VersionedObjectList chunk = (VersionedObjectList) o; chunk.replaceNullIDs(con.getEndpoint().getMemberId()); result.addAll(chunk);
serverEntries = new VersionedObjectList(true); ((VersionedObjectList) partObj).replaceNullIDs(con.getEndpoint().getMemberId()); list.clear(); list.add(partObj);
if (e.getCause() instanceof PutAllPartialResultException) { PutAllPartialResultException cause = (PutAllPartialResultException) e.getCause(); cause.getSucceededKeysAndVersions().replaceNullIDs(con.getEndpoint().getMemberId()); throw cause; } else {
versionTag.replaceNullIDs((InternalDistributedMember) this.endpoint.getMemberId());
Endpoint endpoint = con.getEndpoint(); if (endpoint != null) { EntryLogger.setSource(endpoint.getMemberId(), "RIGII");
versionTag.replaceNullIDs((InternalDistributedMember) this.endpoint.getMemberId());
VersionTag tag = (VersionTag) msg.getPart(partIdx++).getObject(); tag.replaceNullIDs((InternalDistributedMember) con.getEndpoint().getMemberId()); this.event.setVersionTag(tag);
VersionTag versionTag = (VersionTag) clientMessage.getPart(partCnt++).getObject(); if (versionTag != null) { versionTag.replaceNullIDs((InternalDistributedMember) this.endpoint.getMemberId());
assert con.getEndpoint() != null; // for debugging assert tag != null; // for debugging tag.replaceNullIDs((InternalDistributedMember) con.getEndpoint().getMemberId()); if (this.clientEvent != null) { this.clientEvent.setVersionTag(tag);