code: void repair(long txnId, SiteTasker task)
      {
          if (m_busySites.containsKey(txnId)) {
              MpRoSiteContext site = m_busySites.get(txnId);
              site.offer(task);
          }
          else {
              // Should be impossible
              throw new RuntimeException("MPI repair attempted to repair transaction: " + txnId);
          }
      }
docs: Repair: Submit the provided task to the MpRoSite running the transaction associated
  with txnId.  This occurs when the MPI has survived a node failure and needs to interrupt and
  re-run the current MP transaction; this task is used to run the repair algorithm in the site thread.