geo: Synchronous global round-trip incurred for transaction promotion #12863
Labels
area/docdb
YugabyteDB core features
kind/enhancement
This is an enhancement of an existing feature
priority/medium
Medium priority issue
Projects
Jira Link: DB-2624
Description
Context: #9980
When we promote a transaction from local to global, we essentially start a new transaction with the same transaction id using the new global transaction status tablet, then point all participant tablets to the new tablet. There is a synchronous global RPC when registering the transaction with the global status tablet, during which no writes can be done. This is analogous to the first heartbeat of a newly created transaction needing to finish before writes start.
For transactions that start with the correct locality, we avoid this by using precreated transactions with the transaction pool, but we don't have this option for promotion due to reusing the transaction id. This can be fixed by making changes to allow the new transaction to use a different id (but this will require handling existing intents which have the old transaction id), then using a precreated transaction from the global transactions pool.
The text was updated successfully, but these errors were encountered: