@Override protected void process(DistributionManager dm) { try { PartitionedRegion pr = PartitionedRegion.getPRFromId(this.prId); for (Map.Entry<Integer, BucketAdvisor.BucketProfile> profile : this.profiles.entrySet()) { pr.getRegionAdvisor().putBucketProfile(profile.getKey(), profile.getValue()); } } catch (PRLocallyDestroyedException fre) { if (logger.isDebugEnabled()) logger.debug("<region locally destroyed> ///{}", this); } catch (RegionDestroyedException e) { if (logger.isDebugEnabled()) logger.debug("<region destroyed> ///{}", this); } catch (CancelException e) { if (logger.isDebugEnabled()) logger.debug("<cache closed> ///{}", this); } catch (VirtualMachineError err) { SystemFailure.initiateFailure(err); // If this ever returns, rethrow the error. We're poisoned // now, so don't let this thread continue. throw err; } catch (Throwable ignore) { // Whenever you catch Error or Throwable, you must also // catch VirtualMachineError (see above). However, there is // _still_ a possibility that you are dealing with a cascading // error condition, so you also need to check to see if the JVM // is still usable: SystemFailure.checkFailure(); } finally { if (this.processorId != 0) { ReplyMessage.send(getSender(), this.processorId, null, dm); } } }
@Override public void process(final DM dm, final ReplyProcessor21 processor) { if (logger.isTraceEnabled(LogMarker.STATE_FLUSH_OP)) { logger.trace(LogMarker.STATE_FLUSH_OP, "Processing {}", this); } super.process(dm, processor); }
/** * Send a generic ReplyMessage. This is in a method so that subclasses can override the reply * message type * * @param pr the Partitioned Region for the message whose statistics are incremented * @param startTime the start time of the operation in nanoseconds * @see PutMessage#sendReply */ protected void sendReply( InternalDistributedMember member, int procId, DM dm, ReplyException ex, LocalRegion pr, long startTime) { // if (pr != null && startTime > 0) { // pr.getPrStats().endRemoteOperationMessagesProcessing(startTime); // } ReplyMessage.send(member, procId, ex, getReplySender(dm), pr != null && pr.isInternalRegion()); }
@Override public void fromData(DataInput din) throws IOException, ClassNotFoundException { super.fromData(din); sendingMember = (DistributedMember) DataSerializer.readObject(din); }
@Override public void toData(DataOutput dout) throws IOException { super.toData(dout); DataSerializer.writeObject(sendingMember, dout); }