Skip to content
This repository has been archived by the owner on Jan 10, 2023. It is now read-only.

errors in Journal.prototype.rollback obscure actual errors. #154

Open
stratoukos opened this issue May 18, 2016 · 1 comment
Open

errors in Journal.prototype.rollback obscure actual errors. #154

stratoukos opened this issue May 18, 2016 · 1 comment
Assignees
Labels

Comments

@stratoukos
Copy link

stratoukos commented May 18, 2016

When an error occurs in a transaction, Lovefield will attempt to rollback that tranasaction. If an error occurs while it is doing so, only the second error will be reported and the original error will be silenced.

Here is a minimal repro: https://gist.github.com/stratoukos/9ecf84a95b74413f708a56a640e06bb9.

As explained in #153, the above throws a 203 error. While the transaction is being rolled back, a 201 error occurs and the original 203 error is silenced. If you drop a breakpoint at the spot where the 201 error is thrown (BTreeNode_.prototype.insert), you can see on the stacktrace that this happens during the rollback because of a previous error.

@freshp86
Copy link
Contributor

Lovefield should always be able to roll back a transaction without any problems. Not being able to cleanly rollback a transaction violates the atomicity aspect of the ACID database properties. So the real issue here is to figure out why the journal can't be rolled back.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

No branches or pull requests

3 participants