RecoveryLog.checkRecoveryLogConsistency is broken
-------------------------------------------------
Key: SEQUOIA-1097
URL: https://forge.continuent.org/jira/browse/SEQUOIA-1097
Project: Sequoia
Type: Bug
Components: Recovery Log
Versions: sequoia 2.10.10
Reporter: Emmanuel Cecchet
Assigned to: Emmanuel Cecchet
Fix For: sequoia 2.10.11, Sequoia 4.0
>From the mailing list:
It would appear that SEQUOIA-1029 has introduced a bug in
RecoveryLog.checkRecoveryLogConsistency
where the SQL for looking for open transactions used to be (2.10.9):
stmt = getDatabaseConnection().prepareStatement(
"SELECT * FROM " + getLogTableName() + " R1 WHERE R1."
+ getLogTableSqlColumnName() + " LIKE ? AND NOT EXISTS ("
+ "select transaction_id FROM "
+ getLogTableName() + " R2 WHERE "
+ " R1.transaction_id = R2.transaction_id AND (R2."
+ getLogTableSqlColumnName()
+ " = ? OR R2." + getLogTableSqlColumnName() + " = ?) ) ");
with params BEGIN%, COMMIT, ROLLBACK
it's now:
stmt = getDatabaseConnection().prepareStatement(
"SELECT transaction_id FROM " + getLogTableName() + " r1 WHERE r1."
+ getLogTableSqlColumnName()
+ " LIKE ? AND NOT EXISTS (SELECT transaction_id FROM "
+ getLogTableName()
+ " r2 WHERE r1.transaction_id=r2.transaction_id AND (r1."
+ getLogTableSqlColumnName() + " LIKE ? OR r2."
+ getLogTableSqlColumnName() + " LIKE ?))");
However, note that in the OR bit:
(r1." + getLogTableSqlColumnName() + " LIKE ? OR r2." +
getLogTableSqlColumnName() + " LIKE ? )
the first table name has become r1 where it was & ought to be r2.
the effect of which is that when I bring up sequoia, I get a warning in my log
for every transaction that was committed, saying it wasn't completed & a
rollback has been added to the recovery log. As these are presumably committed
before rollback upon recovery, I don't think it has any actual impact apart
from a large amount of spurious logging...
Many thanks,
Andrew Lawrenson
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
https://forge.continuent.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira
_______________________________________________
Sequoia mailing list
[email protected]
https://forge.continuent.org/mailman/listinfo/sequoia