@Override public String toString() { StringBuffer sb = new StringBuffer(); sb.append("FetchPartitionDetailsReplyMessage ") .append("processorid=").append(this.processorId) .append(" reply to sender ").append(this.getSender()) .append(" returning configuredMaxMemory=").append(this.configuredMaxMemory) .append(" size=").append(this.size) .append(" bucketCount=").append(this.bucketCount) .append(" primaryCount=").append(this.primaryCount) .append(" prLoad=").append(this.prLoad) .append(" bucketSizes=").append(Arrays.toString(this.bucketSizes)); return sb.toString(); } }
@Override public void process(final DM dm, final ReplyProcessor21 processor) { final long startTime = getTimestamp(); if (logger.isTraceEnabled(LogMarker.DM)) { logger.trace(LogMarker.DM, "FetchPartitionDetailsReplyMessage process invoking reply processor with processorId: {}", this.processorId); } if (processor == null) { if (logger.isTraceEnabled(LogMarker.DM)) { logger.trace(LogMarker.DM, "FetchPartitionDetailsReplyMessage processor not found"); } return; } processor.process(this); if (logger.isTraceEnabled(LogMarker.DM)) { logger.trace(LogMarker.DM, "{} processed {}", processor, this); } dm.getStats().incReplyMessageTime(NanoTimer.getTime() - startTime); }
@Override public void process(DistributionMessage msg) { try { if (msg instanceof FetchPartitionDetailsReplyMessage) { FetchPartitionDetailsReplyMessage reply = (FetchPartitionDetailsReplyMessage)msg; InternalPartitionDetails details = reply.unmarshalPartitionMemberDetails(); if (details != null) { synchronized(allDetails) { this.allDetails.add(details); //This just picks the offline details from the last member to return this.offlineDetails = reply.offlineDetails; } if (logger.isTraceEnabled(LogMarker.DM)) { logger.debug("FetchPartitionDetailsResponse return details is {}", details); } } else if (logger.isTraceEnabled(LogMarker.DM)) { logger.debug("FetchPartitionDetailsResponse ignoring null details"); } } } finally { super.process(msg); } }
() -> new FetchPartitionDetailsMessage()); registerDSFID(PR_FETCH_PARTITION_DETAILS_REPLY, () -> new FetchPartitionDetailsReplyMessage()); registerDSFID(PR_DEPOSE_PRIMARY_BUCKET_MESSAGE, () -> new DeposePrimaryBucketMessage());
@Override public void process(DistributionMessage msg) { try { if (msg instanceof FetchPartitionDetailsReplyMessage) { FetchPartitionDetailsReplyMessage reply = (FetchPartitionDetailsReplyMessage)msg; InternalPartitionDetails details = reply.unmarshalPartitionMemberDetails(); if (details != null) { synchronized(allDetails) { this.allDetails.add(details); //This just picks the offline details from the last member to return this.offlineDetails = reply.offlineDetails; } if (DistributionManager.VERBOSE) { getDistributionManager().getLoggerI18n().fine( "FetchPartitionDetailsResponse return details is " + details); } } else if (DistributionManager.VERBOSE) { getDistributionManager().getLoggerI18n().fine( "FetchPartitionDetailsResponse ignoring null details"); } } } finally { super.process(msg); } }
@Override protected final boolean operateOnPartitionedRegion(DistributionManager dm, PartitionedRegion region, long startTime) throws ForceReattemptException { PartitionMemberInfoImpl details = (PartitionMemberInfoImpl) region.getRedundancyProvider().buildPartitionMemberDetails( this.internal, this.loadProbe); OfflineMemberDetails offlineDetails; if(this.internal && this.fetchOfflineMembers) { offlineDetails = region.getRedundancyProvider().fetchOfflineMembers(); } else { offlineDetails = new OfflineMemberDetailsImpl(new Set[0]); } region.getPrStats().endPartitionMessagesProcessing(startTime); FetchPartitionDetailsReplyMessage.send( getSender(), getProcessorId(), details, dm, offlineDetails, null); // Unless there was an exception thrown, this message handles sending the // response return false; }
@Override public void process(final DM dm, final ReplyProcessor21 processor) { final long startTime = getTimestamp(); LogWriterI18n logger = dm.getLoggerI18n(); if (DistributionManager.VERBOSE) { logger.fine("FetchPartitionDetailsReplyMessage process invoking reply processor with processorId:" + this.processorId); } if (processor == null) { if (DistributionManager.VERBOSE) { logger.fine("FetchPartitionDetailsReplyMessage processor not found"); } return; } processor.process(this); if (DistributionManager.VERBOSE) { logger.info(LocalizedStrings.DEBUG, processor + " processed " + this); } dm.getStats().incReplyMessageTime(NanoTimer.getTime() - startTime); }
@Override protected final boolean operateOnPartitionedRegion(DistributionManager dm, PartitionedRegion region, long startTime) throws ForceReattemptException { PartitionMemberInfoImpl details = (PartitionMemberInfoImpl) region.getRedundancyProvider().buildPartitionMemberDetails( this.internal, this.loadProbe); OfflineMemberDetails offlineDetails; if(this.internal && this.fetchOfflineMembers) { offlineDetails = region.getRedundancyProvider().fetchOfflineMembers(); } else { offlineDetails = new OfflineMemberDetailsImpl(new Set[0]); } region.getPrStats().endPartitionMessagesProcessing(startTime); FetchPartitionDetailsReplyMessage.send( getSender(), getProcessorId(), details, dm, offlineDetails, null); // Unless there was an exception thrown, this message handles sending the // response return false; }
InternalPartitionDetails unmarshalPartitionMemberDetails() { if (this.configuredMaxMemory == 0) { return null; } else { if (this.prLoad == null) { return new PartitionMemberInfoImpl( getSender(), this.configuredMaxMemory, this.size, this.bucketCount, this.primaryCount); } else { return new PartitionMemberInfoImpl( getSender(), this.configuredMaxMemory, this.size, this.bucketCount, this.primaryCount, this.prLoad, this.bucketSizes); } } }
InternalPartitionDetails unmarshalPartitionMemberDetails() { if (this.configuredMaxMemory == 0) { return null; } else { if (this.prLoad == null) { return new PartitionMemberInfoImpl( getSender(), this.configuredMaxMemory, this.size, this.bucketCount, this.primaryCount); } else { return new PartitionMemberInfoImpl( getSender(), this.configuredMaxMemory, this.size, this.bucketCount, this.primaryCount, this.prLoad, this.bucketSizes); } } }
/** Send an ack * @param offlineDetails */ public static void send(InternalDistributedMember recipient, int processorId, PartitionMemberInfoImpl details, DM dm, OfflineMemberDetails offlineDetails, ReplyException re) { Assert.assertTrue(recipient != null, "FetchPartitionDetailsReplyMessage NULL recipient"); FetchPartitionDetailsReplyMessage m = new FetchPartitionDetailsReplyMessage(processorId, details, offlineDetails, re); m.setRecipient(recipient); dm.putOutgoing(m); }
@Override public String toString() { StringBuffer sb = new StringBuffer(); sb.append("FetchPartitionDetailsReplyMessage ") .append("processorid=").append(this.processorId) .append(" reply to sender ").append(this.getSender()) .append(" returning configuredMaxMemory=").append(this.configuredMaxMemory) .append(" size=").append(this.size) .append(" bucketCount=").append(this.bucketCount) .append(" primaryCount=").append(this.primaryCount) .append(" prLoad=").append(this.prLoad) .append(" bucketSizes=").append(Arrays.toString(this.bucketSizes)); return sb.toString(); } }
/** Send an ack * @param offlineDetails */ public static void send(InternalDistributedMember recipient, int processorId, PartitionMemberInfoImpl details, DM dm, OfflineMemberDetails offlineDetails, ReplyException re) { Assert.assertTrue(recipient != null, "FetchPartitionDetailsReplyMessage NULL recipient"); FetchPartitionDetailsReplyMessage m = new FetchPartitionDetailsReplyMessage(processorId, details, offlineDetails, re); m.setRecipient(recipient); dm.putOutgoing(m); }
public FetchPartitionDetailsReplyMessage(DataInput in) throws IOException, ClassNotFoundException { fromData(in); }
public FetchPartitionDetailsReplyMessage(DataInput in) throws IOException, ClassNotFoundException { fromData(in); }
private FetchPartitionDetailsReplyMessage(int processorId, PartitionMemberInfoImpl details, OfflineMemberDetails offlineDetails, ReplyException re) { this.processorId = processorId; this.configuredMaxMemory = details.getConfiguredMaxMemory(); this.size = details.getSize(); this.bucketCount = details.getBucketCount(); this.primaryCount = details.getPrimaryCount(); this.prLoad = details.getPRLoad(); this.bucketSizes = details.getBucketSizes(); this.offlineDetails = offlineDetails; setException(re); }
private FetchPartitionDetailsReplyMessage(int processorId, PartitionMemberInfoImpl details, OfflineMemberDetails offlineDetails, ReplyException re) { this.processorId = processorId; this.configuredMaxMemory = details.getConfiguredMaxMemory(); this.size = details.getSize(); this.bucketCount = details.getBucketCount(); this.primaryCount = details.getPrimaryCount(); this.prLoad = details.getPRLoad(); this.bucketSizes = details.getBucketSizes(); this.offlineDetails = offlineDetails; setException(re); }