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

Consider allowing multiple conflicting transactions to proceed until one of them commits #2102

Closed
mbautin opened this issue Aug 19, 2019 · 1 comment
Assignees

Comments

@mbautin
Copy link
Collaborator

mbautin commented Aug 19, 2019

Suppose two transactions (e.g. snapshot isolation) are writing conflicting values to key k. Currently we detect the conflict at the provisional record write time based on priority. We abort the transaction with lower priority immediately and the transaction with higher priority is allowed to proceed. However, that transaction itself might get aborted for other reasons. If we could let transactions t1 and t2 proceed, noting the fact that they are in conflict, and whichever commits first has to first abort the other transaction, then in some scenarios we would achieve a concurrency improvement. However, we'll have to deal with this race condition: suppose t1 tries to commit, it aborts t2 and is about to update its status to "committed", but another transaction, t3, writes a provisional record for the same key in the meantime.

@mbautin mbautin self-assigned this Aug 19, 2019
@bmatican
Copy link
Contributor

bmatican commented Mar 3, 2022

Closing in favor of #5680
cc @robertsami @pkj415

@bmatican bmatican closed this as completed Mar 3, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants