@Override
  public String toString() {
    StringBuilder buff = new StringBuilder();
    String className = getClass().getName();
    buff.append(className.substring(className.indexOf(PN_TOKEN) + PN_TOKEN.length())); // partition.<foo>
    buff.append("(prid="); // make sure this is the first one
    buff.append(regionId);

    // Append name, if we have it
    String name = null;
    try {
      PartitionedRegion pr = PartitionedRegion.getPRFromId(regionId);
      if (pr != null) {
        name = pr.getFullPath();
      }
    } catch (Exception ignore) {
      /* ignored */
      name = null;
    }
    if (name != null) {
      buff.append(" (name = \"").append(name).append("\")");
    }

    appendFields(buff);
    buff.append(" ,distTx=");
    buff.append(isTransactionDistributed);
    buff.append(" ,putAlldatasize=");
    buff.append(putAllPRDataSize);
    // [DISTTX] TODO Disable this
    buff.append(" ,putAlldata=");
    buff.append(Arrays.toString(putAllPRData));
    buff.append(")");
    return buff.toString();
  }
This method is called by both operateOnPartitionedRegion() when processing a remote msg or by
sendMsgByBucket() when processing a msg targeted to local Jvm. PartitionedRegion Note: It is
very important that this message does NOT cause any deadlocks as the sender will wait
indefinitely for the acknowledgment

@param r partitioned region eventSender the endpoint server who received request from client
       lastModified timestamp for last modification
@return If succeeds, return true, otherwise, throw exception
geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/PutAllPRMessage.java