That's ok. Maybe we could, independently from the actual solution, develop it with OO design patterns in order to guarantee decoupling from the elected solution. It could allow us to stablish a "B Plain" protocol for testing or eventual changing. What do you think about? FM ----- Original Message ----- From: "Peter B. Volk" <PeterB.Volk@xxxxxxx> To: <mysql-dde@xxxxxxxxxxxxx> Sent: Tuesday, March 21, 2006 11:53 AM Subject: [mysql-dde] Re: Fw: P/F/U Keys in LDD > Hey, > > Back to the old discussions. > > so far we have 2 different ways of doing master election for the P/F/U > keys.: > > 1.) you're suggestion doing it via a matrix and server priorities > 2.) Mine suggestion doing it on a row based master election. > > Back then we sayed that we could leave this as a decision to MySQL. Lenz > Grimmer agreed to look at both options and then discuss it with the > engineers at MySQL. I'll suggest an apointment with him to make a > presentation with both options. (this might be in 2-3 weeks time) befor > that > would I would send you the presentation for you to add you're part. > > is that ok? > > Peter > > > ----- Original Message ----- > From: "Fabricio Mota" <fabricio.mota@xxxxxxxxx> > To: <mysql-dde@xxxxxxxxxxxxx> > Sent: Friday, December 23, 2005 3:19 AM > Subject: [mysql-dde] Re: Fw: P/F/U Keys in LDD > > >> Well, if I understood well, you talk about the threating of a down server > F, >> considering the necessity of servers with lower priority request an ok > from >> F. Right? >> If so, consider (rudimentarly) that F is an member out from a active >> cluster. So, it won't have power to deicide. That could sound as, when a >> server is down, its priority is equal to zero. >> >> Servers will all of them deicide involving the active cluster, and the >> decision could be *latesyncly* informed to the down servers. >> >> Consider also that when a server is down, it will never be able to >> perform >> any GI operation. If it falls from the cluster during a >> transaction, the transaction is rolled back, and it waits from to be >> reintegrated to the cluster to be able to perform new operations. >> >> :) >> >> FM >> >> 2005/12/22, Peter B. Volk <peter.benjamin.volk@xxxxxxxxxxxxxxxxx>: >> > >> > Hey, >> > >> > a short question to the prio matrix suggestion: >> > >> > if server 15 reseives a query and server 13 is down then server 14 asks >> > server 12 for an ok instead of server 13 right? >> > >> > Peter >> > >> > >> > ----- Original Message ----- >> > From: "Fabricio Mota" <fabricio.oliveira@xxxxxxxxxxxxxxxx> >> > To: "Peter B. Volk" <peter.benjamin.volk@xxxxxxxxxxxxxxxxx> >> > Cc: "mim" <fabricio.mota@xxxxxxxxx> >> > Sent: Thursday, December 22, 2005 7:41 PM >> > Subject: Re: [mysql-dde] Re: Fw: P/F/U Keys in LDD >> > >> > >> > > Hey Peter, >> > > >> > > I've deicide to change the name of some values and insert new ones >> > > (if >> > you >> > > agree): >> > > >> > > Perfect >> > > Very Good >> > > Good >> > > Pat >> > > Dependent >> > > Unpat >> > > Weak >> > > Bad >> > > Worst >> > > Unacceptable >> > > >> > > Of course, the values filled (attached file) represents more my > thinking >> > > than yours. >> > > But my initial idea is to condense all matrixes inside a single > matrix. >> > > >> > > Consider also, while evaluating "Internal Communication" and >> > > "Response >> > > Time", the necessity of to make response time equivalent to a single >> > server. >> > > Otherwise, the system may be seen as a "slow system". >> > > >> > > FM >> > > >> > > ----- Original Message ----- >> > > From: "Fabricio Mota" <fabricio.oliveira@xxxxxxxxxxxxxxxx> >> > > To: <mysql-dde@xxxxxxxxxxxxx> >> > > Sent: Thursday, December 22, 2005 10:07 AM >> > > Subject: [mysql-dde] Re: Fw: P/F/U Keys in LDD >> > > >> > > >> > > > Hey Peter... >> > > > >> > > > I do not agree with all those "perfect" judgement you set. That's >> > because >> > > > perfect refers to very specially ideal conditions... >> > > > The ideal solution would have "perfect" in all aspects. But, for >> > example: >> > > > >> > > > Internal Communication: the servers will never communicate > themselves. >> > > > Auxiliar Data: the servers will never use neither a bit to store >> > > > management >> > > > data. >> > > > Response time: absolutely zero. >> > > > Consistence and Integrity: the data will never get to a >> > > > inconsistent/incoherent state, neither if disk checksums corrupts >> > > > (0,00000000% of faults). This sounds like >> > > > a ideal world, don't it??? :) >> > > > And so on... >> > > > >> > > > So I suggest we try to use "Best", when the solution sounds like a >> > > > invincible solution. Don't you? :) >> > > > >> > > > Hey, I suggest also we use a resumed matrix where we can compare >> > > > all >> > > > methods >> > > > in a only page, such as the attached file. The values filled is >> > > > aproximatelly = (Mysuggestion + YourSuggestion)/2 >> > > > Feel free to change it. >> > > > >> > > > I've been myself free to change the name of some values. Look it. >> > > > >> > > > FM >> > > > >> > > > ----- Original Message ----- >> > > > From: "Peter B. Volk" <PeterB.Volk@xxxxxxx> >> > > > To: "Fabricio Mota" <fabricio.mota@xxxxxxxxx>; "Fabricio Mota" >> > > > <fabricio.oliveira@xxxxxxxxxxxxxxxx> >> > > > Cc: <mysql-dde@xxxxxxxxxxxxx> >> > > > Sent: Tuesday, December 20, 2005 9:30 PM >> > > > Subject: [mysql-dde] Re: Fw: P/F/U Keys in LDD >> > > > >> > > > >> > > >> Content-Type: text/plain; >> > > >> charset="iso-8859-1" >> > > >> Content-Transfer-Encoding: quoted-printable >> > > >> Hey I've added the descision matrix to all options. Feel free to > add >> > = >> > > >> your x-es (please use a different color) >> > > >> >> > > >> Peter >> > > >> ----- Original Message -----=20 >> > > >> From: Fabricio Mota=20 >> > > >> To: Peter B. Volk=20 >> > > >> Sent: Tuesday, December 20, 2005 3:39 AM >> > > >> Subject: Re: [mysql-dde] Re: Fw: P/F/U Keys in LDD >> > > >> >> > > >> >> > > >> Hey, >> > > >> >> > > >> You forgot one (despite I don't agree with it no much :) ) >> > > >> >> > > >> FM >> > > >> >> > > >> =20 >> > > >> 2005/12/19, Peter B. Volk <PeterB.Volk@xxxxxxx>:=20 >> > > >> Hey, >> > > >> >> > > >> Here is an overview of mothods that came up during the > discussion. >> > = >> > > >> Fell free >> > > >> to comment. My fafourite is still Suggestion 3.=20 >> > > >> >> > > >> Peter >> > > >> >> > > >> >> > > >> >> > > >> ----- Original Message ----- >> > > >> From: "Fabricio Mota" <fabricio.oliveira@xxxxxxxxxxxxxxxx> >> > > >> To: < mysql-dde@xxxxxxxxxxxxx> >> > > >> Sent: Thursday, December 15, 2005 2:09 PM >> > > >> Subject: [mysql-dde] Re: Fw: P/F/U Keys in LDD >> > > >> >> > > >> >> > > >> > Correction: insertion time rate verigh HIGH (what I mean) >> > > >> > >> > > >> > ----- Original Message -----=20 >> > > >> > From: "Fabricio Mota" <fabricio.oliveira@xxxxxxxxxxxxxxxx> >> > > >> > To: <mysql-dde@xxxxxxxxxxxxx > >> > > >> > Sent: Thursday, December 15, 2005 11:01 AM >> > > >> > Subject: [mysql-dde] Re: Fw: P/F/U Keys in LDD >> > > >> > >> > > >> > >> > > >> > > Content-Type: text/plain; >> > > >> > > charset=3D"iso-8859-1" >> > > >> > > Content-Transfer-Encoding: quoted-printable=20 >> > > >> > > I was thinking a lot about this situation... So, I've >> > concluded >> > = >> > > >> that: >> > > >> > > >> > > >> > > The problem: >> > > >> > > >> > > >> > > My desire is to ensure a situation where a LDD table with a > = >> > > >> unique key =3D=20 >> > > >> > > such as CPF could allow insertion of a value k without > having >> > to >> > = >> > > >> verify >> > > >> =3D >> > > >> > > its uniqueness among remote servers. >> > > >> > > >> > > >> > > The idea would be to allow the remote servers to have > complete >> > = >> > > >> autonomy=20 >> > > >> =3D >> > > >> > > for insertion, otherwise, they could have a insertion time >> > rate >> > = >> > > >> very low >> > > >> =3D >> > > >> > > comparated to independent local databases. This could make >> > > >> a >> > bad >> > = >> > > >> image =3D >> > > >> > > to our product, once most of tables candidate to be LDD >> > > >> will > = >> > > >> have unique=20 >> > > >> =3D >> > > >> > > or primary keys. >> > > >> > > >> > > >> > > My conclusion: >> > > >> > > >> > > >> > > This solution is not possible.=3D20 >> > > >> > > >> > > >> > > The only way to ensure total independence for >> > > >> unique/primary > = >> > > >> keys is to=20 >> > > >> =3D >> > > >> > > use independent visible LDD tables (that is, combining all >> > keys >> > = >> > > >> with the >> > > >> =3D >> > > >> > > LOCAL column). Consider that few people will be acceptable > to >> > = >> > > >> convert =3D >> > > >> > > their keys combining to this column. Do you agree?=20 >> > > >> > > >> > > >> > > Despite GI might ensure 99,9% probability to servers being >> > > >> = >> > > >> synchronized, >> > > >> =3D >> > > >> > > this 0,1% is enough to force us to verify remote servers >> > looking >> > = >> > > >> for =3D >> > > >> > > active transactions with the same values, or to strike the >> > model >> > = >> > > >> =3D=20 >> > > >> > > consistence.=3D20 >> > > >> > > >> > > >> > > The possible: >> > > >> > > >> > > >> > > As it is impossible to reduce to zero the probability of a >> > > >> = >> > > >> independent =3D >> > > >> > > insertion without consistency being violated, I think what > we >> > = >> > > >> could do =3D=20 >> > > >> > > is trying to minimize this probability. >> > > >> > > >> > > >> > > suggestion 1 >> > > >> > > >> > > >> > > One way I thought could reduce the probability of verifying > = >> > > >> remote =3D >> > > >> > > servers near to 50%, is to stabilish a priority chain. That >> > is, >> > = >> > > >> if we =3D=20 >> > > >> > > have 30 servers in a cluster, everyone will have a >> > > >> different > = >> > > >> priority =3D >> > > >> > > order defined, for example, with a integer value 1..30, = >> > > >> representing the >> > > >> =3D >> > > >> > > priority degree. >> > > >> > > >> > > >> > > Consider that the only situation that could have >> > unsynchronized >> > = >> > > >> GI about >> > > >> =3D >> > > >> > > a given value k is when there is an opened transaction >> > > >> about > a >> > = >> > > >> value k. >> > > >> =3D >> > > >> > > So, if two different servers will never have the same > priority >> > = >> > > >> for the =3D=20 >> > > >> > > same moment in time (priority could be changeable for > servers >> > = >> > > >> along the >> > > >> =3D >> > > >> > > time), a server will never have to check the value k for >> > > >> any > = >> > > >> server with >> > > >> =3D >> > > >> > > lower priority.=3D20 >> > > >> > >=20 >> > > >> > > That is, for the example of 30 servers, the server numbered > 30 >> > = >> > > >> will =3D >> > > >> > > never have to check remote servers for any insertion, but > only >> > = >> > > >> its own =3D >> > > >> > > GI. The server 29, will only have to check server 30. >> > > >> Server >> > 28, >> > = >> > > >> only 29=20 >> > > >> =3D >> > > >> > > and 30. Server 27 checks 28, 29 and 30, and so on. >> > > >> > > >> > > >> > > This probability falls to 50% because of the following. >> > Consider >> > = >> > > >> a n =3D >> > > >> > > servers cluster. For 1 .. n servers: >> > > >> > >=20 >> > > >> > > - Server n has the maximum priority); >> > > >> > > - Server n - 1 has the second maximum priority (except n); >> > > >> > > - Server n - 2 has the third maximum priority (except n, >> > > >> n - >> > 1); >> > > >> > > ... >> > > >> > > - Server 1 has de lowers priority (under all). >> > > >> > > >> > > >> > > Considering the sum of all, the total of lowest priority > (what >> > = >> > > >> is =3D >> > > >> > > interesting for avoiding remote checks) is such atached >> > picture. >> > = >> > > >> =3D=20 >> > > >> > > Graphically, it's like the area of a retangle triangle. >> > > >> > > >> > > >> > > One way to ensure real probabilities reducing average >> > > >> remote > = >> > > >> access rate >> > > >> =3D >> > > >> > > is to stabilish priority policies to further the servers > with >> > = >> > > >> most =3D=20 >> > > >> > > probability of insert values to GI to get the podium of = >> > > >> priority. >> > > >> > > >> > > >> > > >> > > >> > > >> > > >> > > >> > > >> > > >> > > >> > > ----- Original Message -----=3D20 >> > > >> > > From: "Peter B. Volk" < > peter.benjamin.volk@xxxxxxxxxxxxxxxxx> >> > > >> > > To: <mysql-dde@xxxxxxxxxxxxx> >> > > >> > > Sent: Wednesday, December 14, 2005 9:38 PM=20 >> > > >> > > Subject: [mysql-dde] Re: Fw: P/F/U Keys in LDD >> > > >> > > >> > > >> > > >> > > >> > >> Hey, >> > > >> > >>=3D20 >> > > >> > >> I've been thinking: >> > > >> > >>=3D20 >> > > >> > >> so what about this one:=20 >> > > >> > >>=3D20 >> > > >> > >> S1 receives a query. There is in I/U on a P/U/F key index. > S1 >> > = >> > > >> =3D >> > > >> > > evaluates the >> > > >> > >> insert. If the Key kan be inserted (no key violation) then > S1 >> > = >> > > >> starts =3D >> > > >> > > to=20 >> > > >> > >> sernd the GI insert to the other servers synchroniously. >> > After >> > = >> > > >> the =3D >> > > >> > > majority >> > > >> > >> of the servers have agreed on the Insert then the update >> > > >> is > = >> > > >> commited. =3D >> > > >> > > Else >> > > >> > >> it is rolled back. The sending to the remote servers >> > > >> should >> > be >> > = >> > > >> done on=20 >> > > >> =3D >> > > >> > > a >> > > >> > >> rotation princible. so if we have S1 to S8 and S4 receives >> > the >> > = >> > > >> query =3D >> > > >> > > then it >> > > >> > >> would send the update to S5,S6,S7,S8,S1 etc. This way we >> > would >> > = >> > > >> avoid =3D >> > > >> > > massive >> > > >> > >> collision with other GI updates. Also this removes the > master >> > = >> > > >> server =3D >> > > >> > > you are >> > > >> > >> worried about. >> > > >> > >>=3D20 >> > > >> > >> What do you think of that?=20 >> > > >> > >>=3D20 >> > > >> > >> Peter >> > > >> > >>=3D20 >> > > >> > >>=3D20 >> > > >> > >> ----- Original Message -----=3D20 >> > > >> > >> From: "Fabricio Mota" < fabricio.mota@xxxxxxxxx> >> > > >> > >> To: <mysql-dde@xxxxxxxxxxxxx> >> > > >> > >> Sent: Tuesday, December 13, 2005 1:16 AM >> > > >> > >> Subject: [mysql-dde] Re: Fw: P/F/U Keys in LDD=20 >> > > >> > >>=3D20 >> > > >> > >>=3D20 >> > > >> > >>> Sorry, I missed to answer one: >> > > >> > >>> 2005/12/12, Fabricio Mota <fabricio.mota@xxxxxxxxx>: >> > > >> > >>> > >> > > >> > >>> > Ich bin zur=3DFCck, >> > > >> > >>> > >> > > >> > >>> > (hahahahaha) >> > > >> > >>> > >> > > >> > >>> > >> > > >> > >>> > 2005/12/12, Peter B. Volk < PeterB.Volk@xxxxxxx>: >> > > >> > >>> > > >> > > >> > >>> > > ----- 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 =3D=20 >> > > >> > > protocol >> > > >> > >>> > > does not specifies to be water-resistent :). You've > got >> > = >> > > >> the =3D >> > > >> > > reason. >> > > >> > >> Maybe >> > > >> > >>> > > it's better to make the unplugged server to rollback, >> > and >> > = >> > > >> the =3D=20 >> > > >> > > cluster >> > > >> > >> to >> > > >> > >>> > > bufferize logs from entire transaction for its future > = >> > > >> recovery. >> > > >> > >>> > > Another thing about it I was thinking today is >> > > >> to > = >> > > >> ensure=20 >> > > >> > >> agreement >> > > >> > >>> > > of buffer, that is, to replicate the buffer log for > all >> > = >> > > >> servers =3D >> > > >> > > in >> > > >> > >> late >> > > >> > >>> > > sinchronization. That's because of to prevent another > = >> > > >> fault to =3D=20 >> > > >> > > damage >> > > >> > >> the >> > > >> > >>> > > global consistence. What do you think? >> > > >> > >>> > > >> > > >> > >>> > > [Peter]Well we'll need somesort of a global log >> > > >> = >> > > >> anyway. Not =3D=20 >> > > >> > > 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=20 >> > > >> =3D >> > > >> > > to >> > > >> > >> be >> > > >> > >>> > > submitted to our analysis (wow, how many things!!!) >> > > >> > >>> > > >> > > >> > >>> > > By the way, in general manner do you agree with >> > late=20 >> > > >> > >>> > > synchronization? >> > > >> > >>> > > >> > > >> > >>> > > [Peter]I would agree under the following > conditions >> > = >> > > >> (feel =3D >> > > >> > > free to >> > > >> > >>> > > disagree):=20 >> > > >> > >>> > > >> > > >> > >>> > > 1.) RDD table can always be late synct (since > they >> > = >> > > >> are only >> > > >> > >>> > > management tables and 90% of queries against these >> > tables >> > = >> > > >> are =3D=20 >> > > >> > > selects) >> > > >> > >>> > > Yes, I agree fully. Late sync must be applied in some > = >> > > >> situations =3D >> > > >> > > to >> > > >> > >>> > > help, and not to degrade. >> > > >> > >>> > >=20 >> > > >> > >>> > > >> > > >> > >>> > > 2.) There is an upper bound for late sync. This >> > means >> > = >> > > >> that =3D >> > > >> > > there >> > > >> > >> is >> > > >> > >>> > > a some time (e.g. 10sec.) where the sync commands can > be >> > = >> > > >> delayed.=20 >> > > >> =3D >> > > >> > > but >> > > >> > >>> > > after this time the sync mu=3DDFt be done >> > > >> > >>> > > I can't understand it clearly. >> > > >> > >>> > > >> > > >> > >>> > > [Peter] I mean that a late synch should not bee > toooooo >> > = >> > > >> late. so =3D=20 >> > > >> > > the >> > > >> > >>> > > sync should be done with an upper bound in time. so > the >> > = >> > > >> queries =3D >> > > >> > > are >> > > >> > >> not >> > > >> > >>> > > suppost to be in the late sync queue for longer than > 10 >> > = >> > > >> Sec. or =3D=20 >> > > >> > > so. >> > > >> > >> This is >> > > >> > >>> > > simply a livlyness property >> > > >> > >>> > >> > > >> > >>> > >> > > >> > >>> Yes, this make sense. But the problem is: once late sync > was >> > = >> > > >> =3D=20 >> > > >> > > authorized, >> > > >> > >> the >> > > >> > >>> command was buffered and the transaction was commited, I >> > think >> > = >> > > >> it is =3D >> > > >> > > very >> > > >> > >>> necessary that the remaining buffered command being sent > to >> > = >> > > >> the =3D=20 >> > > >> > > recipient >> > > >> > >>> before it to be reintegrated to group. Otherwise, the > server >> > = >> > > >> might =3D >> > > >> > > come >> > > >> > >>> inconsistent. >> > > >> > >>> >> > > >> > >>> The exception was if the server fell in the lake :). But > if >> > it >> > = >> > > >> =3D=20 >> > > >> > > happen, and >> > > >> > >>> there are no means to recovery the server state, then the >> > DBA >> > = >> > > >> must =3D >> > > >> > > pull >> > > >> > >> out >> > > >> > >>> the server from the cluster, using *alter cluster drop = >> > > >> <dde_server> *=20 >> > > >> > >>> command. >> > > >> > >>> >> > > >> > >>> So, if this command being performed successfully, ALL >> > pending >> > = >> > > >> late =3D >> > > >> > > sync in >> > > >> > >>> buffer must be purged. >> > > >> > >>>=20 >> > > >> > >>> Hey, I will star that too, I think I did not explain it >> > > >> in > = >> > > >> spec!!!! >> > > >> > >>> >> > > >> > >>> >> > > >> > >>> >> > > >> > >>> > 3.) LDD tables are only partialy late synct. The >> > only >> > = >> > > >> syncing=20 >> > > >> =3D >> > > >> > > to >> > > >> > >> do >> > > >> > >>> > > is the GI update right? >> > > >> > >>> > > I think so. >> > > >> > >>> > > >> > > >> > >>> > > So a late sync could only be done if there was >> > > >> an > = >> > > >> agreement =3D=20 >> > > >> > > on >> > > >> > >> the >> > > >> > >>> > > u/f/p keys. >> > > >> > >>> > > I agree. Maybe we will need to have means to ensure = >> > > >> agreement =3D >> > > >> > > within >> > > >> > >>> > > dynamic operations. Maybe a flag per table, with a = >> > > >> agreement =3D=20 >> > > >> > > protocol, >> > > >> > >> I >> > > >> > >>> > > don't know yet. But it must be a trusted mean to > ensure >> > a >> > = >> > > >> safe =3D >> > > >> > > late >> > > >> > >> sync. >> > > >> > >>> > > >> > > >> > >>> > > [Peter]Well need to star this point until we have >> > decided >> > = >> > > >> how to =3D=20 >> > > >> > > do >> > > >> > >> the >> > > >> > >>> > > u/f/p key validation >> > > >> > >>> > >> > > >> > >>> > >> > > >> > >>> > Ok. Point starred. Command executed in 0.005s. :) >> > > >> > >>> > >> > > >> > >>> > AND Inserts and updates are imidiatly synct and >> > delets >> > = >> > > >> are =3D >> > > >> > > late >> > > >> > >>> > > synct. >> > > >> > >>> > > In true, I think late sync for I/U/D might be allowed >> > only >> > = >> > > >> if the=20 >> > > >> > >>> > > faultous server and the targeted server are >> > > >> different. > = >> > > >> That's >> > > >> > >> important to >> > > >> > >>> > > avoid to prohibit full access to the island-server, >> > during >> > = >> > > >> a =3D >> > > >> > > network >> > > >> > >> fail, >> > > >> > >>> > > for example, and at the same time, to ensure >> > consistence. >> > > >> > >>> > > >> > > >> > >>> > > >> > > >> > >>> > >=20 >> > > >> > >>> > > This is because if there was a deletion the > remote >> > = >> > > >> server =3D >> > > >> > > would >> > > >> > >>> > > still query the server but the server would only > return >> > an >> > = >> > > >> empty =3D >> > > >> > > set.=20 >> > > >> > >>> > > Inserts mu=3DDFt be synct in time because there is a >> > kind >> > = >> > > >> of filter >> > > >> =3D >> > > >> > > that >> > > >> > >> the GI >> > > >> > >>> > > can set to optimize the number of remote server > queried. >> > = >> > > >> Same =3D=20 >> > > >> > > applies >> > > >> > >> for >> > > >> > >>> > > updates. >> > > >> > >>> > > >> > > >> > >>> > > This I also did not understand clearly. >> > > >> > >>> > > >> > > >> > >>> > > [Peter] imagine 2 servers. A query is set of on S1. >> > > >> S1 > = >> > > >> needs data=20 >> > > >> =3D >> > > >> > > from >> > > >> > >>> > > S2. S1 needs to querie S2 to retrive the data he > needs. >> > in >> > = >> > > >> the =3D >> > > >> > > mean >> > > >> > >> time S2 >> > > >> > >>> > > has executed a query that deleted exactly those rows >> > that >> > = >> > > >> S1 =3D=20 >> > > >> > > needs. No >> > > >> > >> data >> > > >> > >>> > > was effected on S1. Now S1 queries S2. Without late > sync >> > = >> > > >> for =3D >> > > >> > > Deletes >> > > >> > >> the >> > > >> > >>> > > Transaction would need to be delayed because the GI >> > > >> on >> > S1 >> > = >> > > >> is not =3D=20 >> > > >> > > up to >> > > >> > >> date >> > > >> > >>> > > and S1 can only query S1 if the lock on GI is > released. >> > = >> > > >> With late >> > > >> =3D >> > > >> > > sync >> > > >> > >> S1 >> > > >> > >>> > > can query S2 without any problems because the GI = >> > > >> modification =3D=20 >> > > >> > > only has >> > > >> > >>> > > optimization effects. >> > > >> > >>> > >> > > >> > >>> > >> > > >> > >>> > Well I think we're agreeing in a point: late sync, for > the >> > = >> > > >> most it =3D=20 >> > > >> > > is >> > > >> > >>> > used, it must always ensure consistence. What you >> > announced >> > = >> > > >> is a =3D >> > > >> > > *time >> > > >> > >>> > window *of inconsistence. >> > > >> > >>> > >> > > >> > >>> > What I would propose for that is: when any operation is > = >> > > >> performed,=20 >> > > >> > >>> > although a server is down or incommunicable - late-sync > = >> > > >> targeted or >> > > >> > >> not - no >> > > >> > >>> > operation targeted to it must be allowed. >> > > >> > >>> > >> > > >> > >>> > The fundamentals of late-sync - in my concept, of > course - >> > = >> > > >> is that =3D=20 >> > > >> > > it >> > > >> > >> must >> > > >> > >>> > be an passive and *rightless* element of the > transaction, >> > = >> > > >> unable to >> > > >> > >> decide >> > > >> > >>> > if it could be performed or not. If he is an active >> > element >> > = >> > > >> (such =3D=20 >> > > >> > > as: >> > > >> > >> delete >> > > >> > >>> > * from LDDTable where Server =3D3D 1 ----- note that > here, >> > = >> > > >> for =3D >> > > >> > > example, >> > > >> > >> Server 1 >> > > >> > >>> > is an active element), then late sync is not suitable. >> > This >> > = >> > > >> =3D=20 >> > > >> > > violates the >> > > >> > >> *lemma >> > > >> > >>> > 4 *of late sync. >> > > >> > >>> > >> > > >> > >>> > Imagine: if in the delete query, there is an foreign >> > > >> key > = >> > > >> related to >> > > >> =3D >> > > >> > > any >> > > >> > >> of >> > > >> > >>> > these records? If we allow to delete it (with server >> > down), >> > = >> > > >> it =3D >> > > >> > > could be >> > > >> > >> a >> > > >> > >>> > disaster! >> > > >> > >>> >=20 >> > > >> > >>> > >> > > >> > >>> > -- >> > > >> > >>> > > >> > > >> > >>> > > Sem mais, >> > > >> > >>> > > >> > > >> > >>> > > Fabricio Mota >> > > >> > >>> > > Oda Mae Brown - Aprecie sem modera=3DE7=3DE3o.=20 >> > > >> > >>> > > http://www.odamaebrown.com.br >> > > >> > >>> > > MySql-DDE discussion list >> > > >> > >>> > > www.freelists.org/ >> > > >> > >>> > > >> > > >> > >>> > > >> > > >> > >>> > >> > > >> > >>> > >> > > >> > >>> > -- >> > > >> > >>> > >> > > >> > >>> > Sem mais,=20 >> > > >> > >>> > >> > > >> > >>> > Fabricio Mota >> > > >> > >>> > Oda Mae Brown - Aprecie sem modera=3DE7=3DE3o. >> > > >> > >>> > http://www.odamaebrown.com.br=20 >> > > >> > >>> > >> > > >> > >>> >> > > >> > >>> >> > > >> > >>> >> > > >> > >>> -- >> > > >> > >>> >> > > >> > >>> Sem mais, >> > > >> > >>> >> > > >> > >>> Fabricio Mota=20 >> > > >> > >>> Oda Mae Brown - Aprecie sem modera=3DE7=3DE3o. >> > > >> > >>> http://www.odamaebrown.com.br >> > > >> > >>> >> > > >> > >>> MySql-DDE discussion list=20 >> > > >> > >>> www.freelists.org/ >> > > >> > >>> >> > > >> > >>=3D20 >> > > >> > >> MySql-DDE discussion list >> > > >> > >> www.freelists.org/=20 >> > > >> > >>=3D20 >> > > >> > >> >> > > >> > > >> > > >> > > >> > > >> > > >> > > >> > > MySql-DDE discussion list >> > > >> > > www.freelists.org/ >> > > >> > > >> > > >> > > >> > > >> > >> > > >> > MySql-DDE discussion list >> > > >> > www.freelists.org/ >> > > >> > >> > > >> >> > > >> >> > > >> >> > > >> >> > > >> >> > > >> >> > > >> --=20 >> > > >> >> > > >> Sem mais, >> > > >> >> > > >> Fabricio Mota >> > > >> Oda Mae Brown - Aprecie sem modera=E7=E3o.=20 >> > > >> http://www.odamaebrown.com.br >> > > >> >> > > >> >> > > >> >> > > >> MySql-DDE discussion list >> > > >> www.freelists.org/ >> > > >> >> > > >> >> > > > >> > > > MySql-DDE discussion list >> > > > www.freelists.org/ >> > > > >> > > > >> > > >> > >> > MySql-DDE discussion list >> > www.freelists.org/ >> > >> > >> >> >> -- >> >> Sem mais, >> >> Fabricio Mota >> Oda Mae Brown - Aprecie sem moderação. >> http://www.odamaebrown.com.br >> >> MySql-DDE discussion list >> www.freelists.org/ >> > > MySql-DDE discussion list > www.freelists.org/ > > MySql-DDE discussion list www.freelists.org/