Issue Details (XML | Word | Printable)

Key: JDBC-348
Type: Bug Bug
Status: Closed Closed
Resolution: Fixed
Priority: Major Major
Assignee: Mark Rotteveel
Reporter: Mark Rotteveel
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
Jaybird JCA/JDBC Driver

Open (output) blob in auto-commit prevents connection close

Created: 13/Apr/14 10:40 AM   Updated: 19/Oct/15 03:40 PM
Component/s: JCA layer, JDBC driver
Affects Version/s: Jaybird 2.2, Jaybird 2.2.1, Jaybird 2.2.2, Jaybird 2.2.3, Jaybird 2.2.4
Fix Version/s: Jaybird 2.2.9, Jaybird 3.0.0

Issue Links:
Relate
 


 Description  « Hide
Having an output blob open in auto-commit prevents connection close. The connection close does not raise an exception.

Code to reproduce:

Connection conn = getConnectionViaDriverManager();
 try {
    FBBlob blob = (FBBlob) conn.createBlob();
    FBBlobOutputStream stream = (FBBlobOutputStream) blob.setBinaryStream(1);
} finally {
    conn.close();
}

After executing this, the connection to the database is physically still open because a transaction was started when the binary stream was opened (eg a drop database using FBManager fails). This transaction is never terminated and this causes an exception in FBManagedConnection.destroy(), but this exception is swallowed in FBStandaloneConnectionManager.connectionClosed(...).

 All   Comments   Change History   Subversion Commits      Sort Order: Ascending order - Click to sort in descending order
Mark Rotteveel added a comment - 24/Jul/15 12:51 PM
May have been fixed with JDBC-307. Linked with 2.2.9 for the express purpose of verifying that. If it isn't fixed, then this will be deferred to 3.0.

Mark Rotteveel added a comment - 24/Jul/15 01:30 PM
Added tests to confirm this has been fixed by JDBC-307