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