Neil,
I have a RAIDb-1 database with controllers in two different
data centers.
Is there a way to detect if a transaction failed to write
to both controllers?
If a request fails on all controllers, the client will get an exception
back with a chained list of exceptions containing the error that occured
on each controller.
This happens when the controllers are up and running but
the network between them is down (Split-brain syndrome).
Since the controllers are up and running, they will still
be committing their transactions to their local database.
If you have a split-brain problem then the transaction will certainly
succeed at one site (but it will never reach the other controller). This
is a normal behavior since the controller thinks that the other
controller is dead.
As mentioned in the Sequoia documentation, split-brain is not supported.
You can force your clients to always connect to the same controller and
only failover to the second one when the first controller is unreachable.
If you cannot build a network configuration that avoids split-brain
issue then you have to come up with some management scripts that will
automatically shutdown a controller in case of a network failure that
could cause a split-brain.
Hope this helps,
Emmanuel
--
Emmanuel Cecchet
Chief Scientific Officer, Continuent
Blog: http://emanux.blogspot.com/
Open source: http://www.continuent.org
Corporate: http://www.continuent.com
Skype: emmanuel_cecchet
Cell: +33 687 342 685
_______________________________________________
Sequoia mailing list
[email protected]
https://forge.continuent.org/mailman/listinfo/sequoia