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

Reply via email to