Just an update here, we're observing that if we start a subordinate transaction with a timeout, and the transaction is completed well ahead of that timeout, we are seeing messages like this after the timeout:
21:32:26,085 WARN [com.arjuna.ats.arjuna] (Transaction Reaper) ARJUNA12117: TransactionReaper::check timeout for TX 0:ffff7f000001:c478e9b:4ea82d79:7a in state RUN
These are logged at a WARN level. Are these spurious messages, or did we do something wrong?