[ 
https://forge.continuent.org/jira/browse/SEQUOIA-1097?page=comments#action_14570
 ] 

Emmanuel Cecchet commented on SEQUOIA-1097:
-------------------------------------------

Fixed in CVS HEAD (will need backport in 2.10)

> 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
>     Assignee: 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

Reply via email to