Undetected recovery log failure causes a major problem in replication
---------------------------------------------------------------------
Key: SEQUOIA-910
URL: https://forge.continuent.org/jira/browse/SEQUOIA-910
Project: Sequoia
Type: Bug
Components: Core
Versions: Sequoia 3.0
Reporter: Guillaume Smet
This is a followup of the thread
https://forge.continuent.org/pipermail/sequoia/2007-February/004683.html on
sequoia list.
In RecoveryLog.getDatabaseConnection(), Sequoia catches RuntimeException and
SQLException but not others. In the case of RuntimeException and SQLException,
a problem to establish the connection is correctly handled (inserts in the
recovery log are postponed) but not in the case of a ConnectException for
instance.
In the case reported by Gérard Bunel, the MySQL server hosting the recovery log
is shutdown and it throws a java.net.ConnectException. Write queries are not
logged in this recovery log and the failure of the recovery log is not detected
by Sequoia. This leads to a synchronisation problem when restarting the
recovery log and enabling the backend as the recovery logs of both controllers
are not identical.
IMHO we should catch every Exception instead of just SQLException in the last
catch of getDatabaseConnection().
Thoughts?
--
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