Replica Transactions

Feature Description #

Vitess supports transactions through vtgate on PRIMARY and read REPLICA tablets as of v7.0.

Use Case(s) #

  • Consistent reads
  • Sqoop integration

Implimented Solution #

  • When vtgate chooses a tablet to execute a query on, it will return the tablet alias.
  • The tablet alias and transactionID is then stored on the shard session struct.
  • If the session object has a tablet alias set, then the query will target the specific tablet.
  • If the transaction is committed or rolled back, the session will end.

In order to use this feature, a client will need to issue use @replica followed by BEGIN.