A scalable, fully managed NoSQL database for JSON documents with fast queries and automatic indexing
Hi @Alex Chetcuti ,
High Availability in Azure DocumentDB is documented as an availability and failover feature. It maintains standby replicas of shards and can redirect connections to a standby shard if a primary shard becomes unresponsive. I do not see documentation stating that enabling HA changes transaction write-conflict or lock-timeout errors into MongoDB driver errors labeled TransientTransactionError.
Based on that, I would not treat upgrading to a paid tier with HA as the fix for WithTransactionAsync retry behavior. HA is useful for availability/failover resilience, but it is not documented as changing application-level transaction retry labels.
For this workload, please handle this lock-timeout path with explicit application retry logic and reduce concurrent transactions that update the same document/key where possible. The current error is not being surfaced with the TransientTransactionError label, so the driver’s automatic retry path may not run for this specific failure.
If you can share a minimal repro, the MongoDB C# driver version, and the full exception text including labels/error code with secrets removed, we can validate whether the observed error label behavior matches the current Azure DocumentDB implementation.
Verification:
- Re-run the same concurrent transaction workload after adding explicit retry for the lock-timeout error path.
- Confirm whether failures reduce or disappear.
- Confirm whether the exception still arrives without the TransientTransactionError label.