code: public void offerPendingMPTasks(long txnId)
      {
          Queue<TransactionTask> pendingTasks = m_mpsPendingDurability.get(txnId);
          if (pendingTasks != null) {
              for (TransactionTask task : pendingTasks) {
                  if (task instanceof SpProcedureTask) {
                      final VoltTrace.TraceEventBatch traceLog = VoltTrace.log(VoltTrace.Category.SPI);
                      if (traceLog != null) {
                          traceLog.add(() -> VoltTrace.endAsync("durability",
                                                                MiscUtils.hsIdTxnIdToString(m_mailbox.getHSId(), task.getSpHandle())));
                      }
                  } else if (task instanceof FragmentTask) {
                      final VoltTrace.TraceEventBatch traceLog = VoltTrace.log(VoltTrace.Category.SPI);
                      if (traceLog != null) {
                          traceLog.add(() -> VoltTrace.endAsync("durability",
                                                                MiscUtils.hsIdTxnIdToString(m_mailbox.getHSId(), ((FragmentTask) task).m_fragmentMsg.getSpHandle())));
                      }
                  }
  
                  m_pendingTasks.offer(task);
              }
              m_mpsPendingDurability.remove(txnId);
          }
      }
docs: Offer all fragment tasks and complete transaction tasks queued for durability for the given
  MP transaction, and remove the entry from the pending map so that future ones won't be
  queued.
  
  @param txnId    The MP transaction ID.