Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

kvcoord: can opt out of abortspan checks when write buffer is complete #140593

Open
tbg opened this issue Feb 6, 2025 · 0 comments
Open

kvcoord: can opt out of abortspan checks when write buffer is complete #140593

tbg opened this issue Feb 6, 2025 · 0 comments
Assignees
Labels
A-kv-transactions Relating to MVCC and the transactional model. C-enhancement Solution expected to add code/behavior + preserve backward-compat (pg compat issues are exception) o-perf-efficiency Related to performance efficiency T-kv KV Team

Comments

@tbg
Copy link
Member

tbg commented Feb 6, 2025

Once buffered writes are implemented, we can bypass abort span checks (via a flag on the BatchRequest) in the common case in which the write set of the transaction (or at least the write set overlapping the batch) is completely contained in the write buffer. This is because the abort span exists only to guard against cases in which intents of a transaction were forcibly removed, but the transaction may not be aware. But if all reads are served against the write buffer, this protection is not necessary at the KV layer.

Once implemented, this would address a large part of #122719, since we simply wouldn't have to run the abort span check for (hopefully large) classes of workloads.

See also #122719 (comment).

Epic: CRDB-42764

Jira issue: CRDB-47255

@tbg tbg added A-kv-transactions Relating to MVCC and the transactional model. C-enhancement Solution expected to add code/behavior + preserve backward-compat (pg compat issues are exception) o-perf-efficiency Related to performance efficiency T-kv KV Team labels Feb 6, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-kv-transactions Relating to MVCC and the transactional model. C-enhancement Solution expected to add code/behavior + preserve backward-compat (pg compat issues are exception) o-perf-efficiency Related to performance efficiency T-kv KV Team
Projects
None yet
Development

No branches or pull requests

2 participants