-
Notifications
You must be signed in to change notification settings - Fork 3.8k
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
sql: transaction error state is not entered after a serializable restart #55233
Comments
This is unexpected, right? cc @andreimatei @rafiss |
Should that first create be Also, why does I ran the commands on Postgres (with serializable isolation), and I was also unable to run |
Huh, really? So it went from "Open" to "no transaction" state without an intermediary error state? If so, I'd retract this issue. Maybe I mis-attributed the cause of the Rust test failure. |
Correct. Here's the PG output from the last bit of session 2:
There is a difference here though -- in PG the Seems related to #54954 |
Whew, that's good. I should have tried this myself. It still feels weird? But as long as it's compatible. Yes, it looks like the issue you linked is related. We should link that one to the Diesel issue instead of this one. |
Yeah, |
REPRO:
Open 2 connections to a 20.2 binary.
Connection 1:
Connection 2:
Connection 1:
Connection 2:
The bug, in my opinion, is that in connection 2, we don't go into the error state: we simply leave the transaction completely. I think that we should be able to type
rollback
to get out of the transaction.It seems like this bug was also present in 20.1. I noticed this while running some of the tests for Diesel (#13787).
The text was updated successfully, but these errors were encountered: