More logging in the TransactionRouter (at a high verbosity level) would make diagnosing failures easier, particularly while sharded transactions are being stabilized. A few things that could be logged:
- Starting / continuing a transaction
- Contacting new / existing participant shard
- Resetting state on stale version, snapshot, or view resolution error
- Committing / aborting a transaction