docs: private void handleFragmentResponseMessage(FragmentResponseMessage message)
      {
          if (isFragmentMisrouted(message)){
              m_mailbox.send(message.getDestinationSiteId(), message);
              return;
          }
          final VoltTrace.TraceEventBatch traceLog = VoltTrace.log(VoltTrace.Category.SPI);
  
          // Send the message to the duplicate counter, if any
          DuplicateCounter counter =
              m_duplicateCounters.get(new DuplicateCounterKey(message.getTxnId(), message.getSpHandle()));
          final TransactionState txn = m_outstandingTxns.get(message.getTxnId());
          if (counter != null) {
              String traceName = "recvfragment";
              if (message.m_sourceHSId != m_mailbox.getHSId()) {
                  traceName = "replicatefragment";
              }
              String finalTraceName = traceName;
              if (traceLog != null) {
                  traceLog.add(() -> VoltTrace.endAsync(finalTraceName, MiscUtils.hsIdPairTxnIdToString(m_mailbox.getHSId(), message.m_sourceHSId, message.getSpHandle(), message.getTxnId()),
                                                        "status", message.getStatusCode()));
              }
              int result = counter.offer(message);
              if (result == DuplicateCounter.DONE) {
                  if (txn != null && txn.isDone()) {
                      setRepairLogTruncationHandle(txn.m_spHandle, txn.isLeaderMigrationInvolved());
                  }
  
                  m_duplicateCounters.remove(new DuplicateCounterKey(message.getTxnId(), message.getSpHandle()));
                  FragmentResponseMessage resp = (FragmentResponseMessage)counter.getLastResponse();
                  // MPI is tracking deps per partition HSID.  We need to make
                  // sure we write ours into the message getting sent to the MPI
                  resp.setExecutorSiteId(m_mailbox.getHSId());
                  m_mailbox.send(counter.m_destinationId, resp);
              }
              else if (result == DuplicateCounter.MISMATCH) {
                  VoltDB.crashGlobalVoltDB("HASH MISMATCH running multi-part procedure.", true, null);
              } else if (result == DuplicateCounter.ABORT) {
                  VoltDB.crashGlobalVoltDB("PARTIAL ROLLBACK/ABORT running multi-part procedure.", true, null);
              }
              // doing duplicate suppression: all done.
              return;
          }
  
          // No k-safety means no replica: read/write queries on master.
          // K-safety: read-only queries (on master) or write queries (on replica).
          if ( (m_isLeader || (!m_isLeader && message.isExecutedOnPreviousLeader()))
                  && m_sendToHSIds.length > 0 && message.getRespBufferable()
                  && (txn == null || txn.isReadOnly()) ) {
              // on k-safety leader with safe reads configuration: one shot reads + normal multi-fragments MP reads
              // we will have to buffer these reads until previous writes acked in the cluster.
              long readTxnId = txn == null ? message.getSpHandle() : txn.m_spHandle;
              m_bufferedReadLog.offer(m_mailbox, message, readTxnId, m_repairLogTruncationHandle);
              return;
          }
  
          // for complete writes txn, we will advance the transaction point
          if (txn != null && !txn.isReadOnly() && txn.isDone()) {
              setRepairLogTruncationHandle(txn.m_spHandle, message.isExecutedOnPreviousLeader());
          }
  
          if (traceLog != null) {
              traceLog.add(() -> VoltTrace.endAsync("recvfragment", MiscUtils.hsIdPairTxnIdToString(m_mailbox.getHSId(), message.m_sourceHSId, message.getSpHandle(), message.getTxnId()),
                                                    "status", message.getStatusCode()));
          }
          m_mailbox.send(message.getDestinationSiteId(), message);
      }