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

FBManagedConnectionFactory.tryCompleteInLimboTransaction doesn't work with recent Firebird 3 builds [JDBC353] #395

Closed
firebird-automations opened this issue May 7, 2014 · 6 comments

Comments

@firebird-automations
Copy link

Submitted by: @mrotteveel

FBManagedConnectionFactory.tryCompleteInLimboTransaction doesn't work with recent Firebird 3 builds as it attempts to delete a record from RDB$TRANSACTIONS which is no longer allowed due to system table protection.

The deletion seems to be a form of house keeping and is technically unnecessary. However the current implementation of FBManagedConnection.recover is not very efficient if a large number of records are kept on file.

Commits: f693c27 FirebirdSQL/fbt-repository@a0ba830

@firebird-automations
Copy link
Author

Modified by: @mrotteveel

Fix Version: Jaybird 2.2.6 [ 10588 ]

Fix Version: Jaybird 3.0 [ 10440 ]

@firebird-automations
Copy link
Author

Commented by: @mrotteveel

Committed change that for Firebird 2.0 and higher will try to locate the transaction by the serialized Xid value. Deleting the transaction record will only be done in Firebird 2.5 and earlier.

Tested this on Firebird 3 and it works, still need to test on 2.1 and 2.5.

I am unsure of the performance implications. For Firebird 3.0 it will be better than the alternative of having to scan all records client side.

@firebird-automations
Copy link
Author

Commented by: @mrotteveel

Tested on 2.5, in Jaybird 2.2 the transaction wasn't set when deleting the record. Fixed.

@firebird-automations
Copy link
Author

Commented by: @mrotteveel

Tested on Firebird 2.1, test passes.

@firebird-automations
Copy link
Author

Modified by: @mrotteveel

status: Open [ 1 ] => Resolved [ 5 ]

resolution: Fixed [ 1 ]

@firebird-automations
Copy link
Author

Modified by: @mrotteveel

status: Resolved [ 5 ] => Closed [ 6 ]

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment