redpanda
redpanda copied to clipboard
Remove prepare phase for transactions and move to acks=all for commits to the tx log
Based on these perf findings - https://redpandadata.slack.com/archives/C03CSNSGWKC/p1663340367762939
@mmedenjak , would you mind providing a quick summary of the Slack discussion mentioned? As the link doesn't seem to be public.
@VadimPlh @rystsov can you summarise? I feel like I'd do a poor job at it.
@VadimPlh @rystsov can you summarise? I feel like I'd do a poor job at it.
Idea is: do not write prepare marker for rm_stm. We did it to sync all prev records for tx. Because we write data_batches with leader ack. And it does not provide that all followers flush thus records. Prepare marker was written with quorum_ack. And after we apply it we can be sure that records for transaction is replicated and flushed.
What we wanna do:
- Do not write prepare_marker
- Change leader_ack to quorum_ack for data batches
- Store tx_seq at the begin_tx because we need it on expire old_tx.