Hi Adam,

The reason you cannot transfer as you describe is that if the controller fails 
while actively updating a database, it is not safe for another controller to 
pick up updates where the failed controller left off.  First, the other 
controller would not know the exact state of requests and hence where to start 
replaying the recovery log.  Second, there are interleavings of transactions 
such that if you started replay you might end up with different results.  For 
example, the WHERE clause on an UPDATE statement could select different rows.  
How this happens differs between DBMS implementations according to how 
faithfully they implement MVCC.

As a result it is only safe to transfer backends between controllers when they 
are disabled, which is to say that the backend is off-line and has an 
associated checkpoint from which it is safe to recover.  There is in fact a 
transfer command available in the console, which allows you to do this.

There are other conceivable designs that could allow recovery to pick up from 
any point in the log but they have drawbacks for applications, such as the fact 
that you might not be able to use transactions or have to accept that 
transactions would be single-threaded.

Cheers, Robert

On 7/8/08 11:29 AM, "Adam Purkiss" <[EMAIL PROTECTED]> wrote:

Ok so I got clustering up with appia in the end as JGroups failed to be useful 
with the error messages. My next question though is why can't you share 
backends. Being unable to share backends means that I loose some of the 
failover required. For example If C1 talks to DB1 and C2 talks to DB2 and DB2 
and C1 go down C2 cannot talk to DB1 and so therefore your server goes down.





________________________________

 <http:///><http:///>
________________________________



--
Robert Hodges, CTO, Continuent, Inc.
Email:  [EMAIL PROTECTED]
Mobile:  +1-510-501-3728  Skype:  hodgesrm
_______________________________________________
Sequoia mailing list
[email protected]
https://forge.continuent.org/mailman/listinfo/sequoia

Reply via email to