On 29-9-2018 18:14, Mark Rotteveel wrote:
I was just running the Jaybird tests against Firebird-4.0.0.1227-0_x64 (Windows 10). It has been a while since I tested with Firebird 4, so I don't know when this problem was introduced.

When running the test org.firebirdsql.gds.TestReconnectTransaction.testReconnectTransaction, I get an error when trying to rollback a limbo transaction:

Likely a related issue, another test (org.firebirdsql.gds.ng.wire.version10.TestV10Transaction.testBasicPrepareAndRollback) gets stuck.

This test creates a connection, starts a transaction (read committed record version wait), inserts a value into a table, prepares the transaction (to be committed later in the test).

Then in a separate connection + transaction (also read committed record version wait), the test attempts to select from the table. This connection is stuck fetching rows (even when setting ReadConsistency = 0 in firebird.conf).

This works fine in Firebird 3 and earlier.

With setting ReadConsistency = 0 in firebird.conf this is logged (after killing the test):

"""
RAMONA  Sat Sep 29 18:28:36 2018
INET/inet_error: read errno = 10054, client host = Ramona, address = 127.0.0.1/61927, user = Mark


RAMONA  Sat Sep 29 18:28:36 2018
INET/inet_error: read errno = 10054, client host = Ramona, address = 127.0.0.1/61926, user = Mark
"""

With setting ReadConsistency = 1 in firebird.conf:

"""
RAMONA  Sat Sep 29 18:31:27 2018
INET/inet_error: read errno = 10054, client host = Ramona, address = 127.0.0.1/61943, user = Mark


RAMONA  Sat Sep 29 18:31:27 2018
INET/inet_error: read errno = 10054, client host = Ramona, address = 127.0.0.1/61944, user = Mark


RAMONA  Sat Sep 29 18:31:27 2018
        Database: D:\DEVELOPMENT\PROJECT\JAYBIRD\JAYBIRD\FBTEST.FDB
internal Firebird consistency check (TPC: Attempt to mark inactive transaction to be in limbo)


RAMONA  Sat Sep 29 18:31:27 2018
I/O error during "WriteFile" operation for file "D:\DEVELOPMENT\PROJECT\JAYBIRD\JAYBIRD\FBTEST.FDB"
        Error while trying to write to file
        The handle is invalid.


RAMONA  Sat Sep 29 18:31:27 2018
        Database: D:\DEVELOPMENT\PROJECT\JAYBIRD\JAYBIRD\FBTEST.FDB
I/O error during "WriteFile" operation for file "D:\DEVELOPMENT\PROJECT\JAYBIRD\JAYBIRD\FBTEST.FDB"
        Error while trying to write to file
        The handle is invalid.
"""

Interestingly after this test, Firebird has no problem shutting down with setting ReadConsistency = 0, but hangs with setting ReadConsistency = 1.
--
Mark Rotteveel


Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel

Reply via email to