----- Original Message ----- From: Fabricio Mota To: mysql-dde@xxxxxxxxxxxxx Sent: Friday, December 09, 2005 2:57 AM Subject: [mysql-dde] Re: Fw: P/F/U Keys in LDD Buenas notches (that's not my language! hahaha) Oh yes, I didn't think about the lake. And the late-sync protocol does not specifies to be water-resistent :). You've got the reason. Maybe it's better to make the unplugged server to rollback, and the cluster to bufferize logs from entire transaction for its future recovery. Another thing about it I was thinking today is to ensure agreement of buffer, that is, to replicate the buffer log for all servers in late sinchronization. That's because of to prevent another fault to damage the global consistence. What do you think? [Peter]Well we'll need somesort of a global log anyway. Not only for these un- and redo stuff but also for replication (see next email). Yes, of course. I think global logs must be another starred point to be submitted to our analysis (wow, how many things!!!) By the way, in general manner do you agree with late synchronization? [Peter]I would agree under the following conditions (feel free to disagree): 1.) RDD table can always be late synct (since they are only management tables and 90% of queries against these tables are selects) Yes, I agree fully. Late sync must be applied in some situations to help, and not to degrade. 2.) There is an upper bound for late sync. This means that there is a some time (e.g. 10sec.) where the sync commands can be delayed. but after this time the sync mußt be done I can't understand it clearly. [Peter] I mean that a late synch should not bee toooooo late. so the sync should be done with an upper bound in time. so the queries are not suppost to be in the late sync queue for longer than 10 Sec. or so. This is simply a livlyness property 3.) LDD tables are only partialy late synct. The only syncing to do is the GI update right? I think so. So a late sync could only be done if there was an agreement on the u/f/p keys. I agree. Maybe we will need to have means to ensure agreement within dynamic operations. Maybe a flag per table, with a agreement protocol, I don't know yet. But it must be a trusted mean to ensure a safe late sync. [Peter]Well need to star this point until we have decided how to do the u/f/p key validation AND Inserts and updates are imidiatly synct and delets are late synct. In true, I think late sync for I/U/D might be allowed only if the faultous server and the targeted server are different. That's important to avoid to prohibit full access to the island-server, during a network fail, for example, and at the same time, to ensure consistence. This is because if there was a deletion the remote server would still query the server but the server would only return an empty set. Inserts mußt be synct in time because there is a kind of filter that the GI can set to optimize the number of remote server queried. Same applies for updates. This I also did not understand clearly. [Peter] imagine 2 servers. A query is set of on S1. S1 needs data from S2. S1 needs to querie S2 to retrive the data he needs. in the mean time S2 has executed a query that deleted exactly those rows that S1 needs. No data was effected on S1. Now S1 queries S2. Without late sync for Deletes the Transaction would need to be delayed because the GI on S1 is not up to date and S1 can only query S1 if the lock on GI is released. With late sync S1 can query S2 without any problems because the GI modification only has optimization effects. -- Sem mais, Fabricio Mota Oda Mae Brown - Aprecie sem moderação. http://www.odamaebrown.com.br MySql-DDE discussion list www.freelists.org/