Emmanuel:

I just enabled the distributed request log on
my controllers and I think it will allow me to
do what I want.

It looks like the log contains every transaction
seen by the controller (and it seems to contain
a transaction identifier as well).  I can write some
code to check the distributed request log from each
of the controllers and see if there are discrepancies.

I am still exploring this as a possible solution, so if 
you have any advice, I would appreciate it.

Thanks,
        Neil 

--
Neil Aggarwal, (214)986-3533, www.JAMMConsulting.com
FREE! Eliminate junk email and reclaim your inbox.
Visit http://www.spammilter.com for details.

-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Neil
Aggarwal
Sent: Friday, December 15, 2006 10:33 AM
To: 'Sequoia general mailing list'
Subject: RE: [Sequoia] Detect if a transaction failedtowrite toboth
controllers?

Emmanuel:

How about I log the number of controllers a transaction
successfully committed to and then come back later in my
own code and check that number against what I think it
should be?

That seems like it would be generic enough, solve me
problem, and still add value to the community.

Is there also a way to log an identifier for the controllers
that committed the transaction?

Of course, I only need this for update transactions.

Thanks,
        Neil

--
Neil Aggarwal, (214)986-3533, www.JAMMConsulting.com
FREE! Eliminate junk email and reclaim your inbox.
Visit http://www.spammilter.com for details.

-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Emmanuel
Cecchet
Sent: Friday, December 15, 2006 9:55 AM
To: Sequoia general mailing list
Subject: Re: [Sequoia] Detect if a transaction failed towrite toboth
controllers?

Hi Neil,
> I understand that split brain is not supported
> but I do not believe what I am asking is unreasonable.
>   
Is it ? ;-)
> When a controller received a transaction, it knows
> if it is able to send it to the other controller.
> I want to detect (And probably log) when it is unable
> to send the transaction to the other controller.
>   
The fact is that Sequoia is designed to work with any number of 
controllers. A one controller configuration can be perfectly ok (other 
controllers can not be already started or under maintenance). So Sequoia 
just handles the case where a controller that has been sent a query 
fails but if there is only one controller available, this is not 
considered has an issue since there is nothing to tell how many 
controllers are 'supposed' to be in the cluster.
So to answer your question, a controller only knows if it was not able 
to send a query to another controller if that other controller fails 
exactly when the message is being sent.
> Also, if a controller attempts to commit a transaction,
> I would like to detect if that commit failed.
>   
If a commit fail on all controllers, you will get an exception back. If 
it fails only on one controller but succeeds on the other, you will not 
see the error (you can change that behavior in the 
DistributedRequestManager implementation).
> There have to be point in the code where these situations
> are detectable.  I am asking for some guidance in helping
> to find them.
>
> I am willing to contribute patches to Sequoia since other
> users may find these functions useful as well.
>   
I am not really sure to understand what problem you are trying to solve 
here. As you cannot distinguish a split brain from a real failure or a 
simple maintenance procedure, I don't see how you are going to handle 
all these cases in a generic way.

Please don't hesitate to elaborate on your ideas.
Thanks,
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


_______________________________________________
Sequoia mailing list
[email protected]
https://forge.continuent.org/mailman/listinfo/sequoia


_______________________________________________
Sequoia mailing list
[email protected]
https://forge.continuent.org/mailman/listinfo/sequoia

Reply via email to