In the Firestore Watch PR #2202 @schmidt-sebastian made the following comment about Transaction retry:
If a transaction fails with an application-level error (e.g. FAILED_PRECONDITION), it should be retried immediately without backoff. Can you confirm that that is the case? The backend will save the transactions "spot in line" and the transaction is much more likely to succeed if is retried right away.
Make sure Firestore Transactions are performing retries for all appropriate errors and with the correct delay (including incremental backoff).
In the Firestore Watch PR #2202 @schmidt-sebastian made the following comment about Transaction retry:
Make sure Firestore Transactions are performing retries for all appropriate errors and with the correct delay (including incremental backoff).