public TXCommitMessage processed(TXCommitMessage processedMess) {
    final TXCommitMessage mess;
    final Object key = processedMess.getTrackerKey();
    synchronized (txInProgress) {
      mess = (TXCommitMessage) txInProgress.remove(key);
      if (mess != null) {
        txHistory[lastHistoryItem++] = key;
        if (lastHistoryItem >= txHistory.length) {
          lastHistoryItem = 0;
        }
        // For any waitForAllToComplete
        if (txInProgress.isEmpty()) {
          txInProgress.notifyAll();
        }
      }
    }
    if (mess != null) {
      synchronized (mess) {
        mess.setProcessed(true);
        // For any waitToComplete
        mess.notifyAll();
      }
    }
    return mess;
  }
Indicate that the transaction message has been processed and to place it in the transaction
history
geode-core/src/main/java/org/apache/geode/internal/cache/TXFarSideCMTracker.java