docs: public synchronized void timeoutTransaction(boolean initial) {
          if (tc.isEntryEnabled())
              Tr.entry(tc, "timeoutTransaction", initial);
  
          if (tc.isEventEnabled())
              Tr.event(tc, "(SPI) Transaction TIMEOUT occurred for TX: " + getLocalTID());
  
          _timedOut = true; // mark
          _rollbackOnly = true; // for the case of server quiesce?
  
          // inactivity timeout may have happened ... check status
          if (_status.getState() == TransactionState.STATE_ACTIVE) {
              // If there is no txn timeout, or we are into completion phase the timeout setting may be zero
              if (_timeout == 0)
                  _timeout = 10;
              TimeoutManager.setTimeout(this, TimeoutManager.REPEAT_TIMEOUT, _timeout);
          }
  
          // Story 132693: JDBC4.1 allows connections to be aborted. Only call abort on the initial
          // call, not on retries.
          if (initial)
              abortTransactionParticipants();
  
          if (tc.isEntryEnabled())
              Tr.exit(tc, "timeoutTransaction");
      }