Hi Jonathan,
The behavior you describe is a bug, you should file a JIRA entry for it.
I just looked at the code and the problem is in
VirtualDatabase.enableAllBackendsFromCheckpoint that does not try/catch
the backend enable failure.
File the JIRA entry and I'll fix it later today.
Thanks for your feedback,
Emmanuel
Let me make sure I understand what you wrote back. If you're using the
autoEnableBackend feature, it stops trying to enable backends as soon as one
fails? Is that correct? If so, it answers my question.
If not, here's what I'm trying to do:
I have two backends in my Virtual DB. I start the controller with autoEnable
on. It tries to connect to the first backend and because there's no network
connection (I broke the physical connection) it reports unable to connect and
therefore unable to enable. The controller then appears to not even try to
connect to the other backend.
My thinking is that it would be better for auto-enable to try to enable every
backend regardless of failure (assuming you're using a RAID system that doesn't
require all backends to work, like RAIDb-1). If it stops as soon as one
failure is found, you lose your entire DB functionality even if only one
backend has a problem.
For example, if I have 10 backends and the first one in my list in the Virtual
DB config fails, I get no database. But, if I have RAIDb-1 and I just want to
start up with the other 9 functioning, I can't unless I manually enable all the
backends. I do understand the push for manual enabling, as it is safer, but if
there's an auto-enable feature, why wouldn't it try to start everything it can
and just report any failures?
In our project, if the first backend is OK and the second one fails, the
controller still uses the first backend and everything is fine from our
application's perspective. If the first backend fails and the second one is
OK, I would expect the controller to simply use the second backend.
-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Emmanuel Cecchet
Sent: Thursday, October 02, 2008 4:48 PM
To: Sequoia general mailing list
Subject: Re: [Sequoia] Sequoia not trying subsequent backends
Hi Jonathan,
I am not sure to understand what you are talking about. Are you talking
about the autoEnableBackend feature of the controller that stops as soon
as it cannot enable one backend?
It is a good practice to load configuration files and enable backends
remotely to have a good control on what is happening. But the
auto-enable should auto-enable all backends that have a valid checkpoint
in the recovery log.
Let me know which feature looks dysfunctional.
Thanks for the feedback,
Emmanuel
I just found a major problem with our use of Sequoia and want to make
sure I'm understanding this correctly.
We have the controller automatically start our virtual database and
enable the backends. We have two backends in our virtual DB. If the
first backend succeeds in connecting and the second backend fails, the
system continues working properly (without backed-up data, of course).
However, if the first backend listed in the virtual DB config fails,
Sequoia does not appear to try to connect to the second backend. This
is a problem for us.
Is there any way to get Sequoia to continue trying to connect to
backends once it's come across a failure? Or am I going to have to
manually start and enable the backends through the code? I'd like to
avoid this, as it adds more development time to our project, which we
can't afford.
Thanks,
Jonathan Stockho
--
Emmanuel Cecchet
FTO @ Frog Thinker
Open Source Development & Consulting
--
Web: http://www.frogthinker.org
email: [EMAIL PROTECTED]
Skype: emmanuel_cecchet
_______________________________________________
Sequoia mailing list
[email protected]
https://forge.continuent.org/mailman/listinfo/sequoia