Please I need some kind of feedback about my question about the multicast insert scenario I have described.
Thanks Alfonso On 11/13/06, Alfonso Olias Sanz <[EMAIL PROTECTED]> wrote:
On 11/13/06, Emmanuel Cecchet <[EMAIL PROTECTED]> wrote: > Hi Alfonso, > > It helps a lot. Find my comments below. > > 10:49:42,270 DEBUG controller.RequestManager.ITECBAN_DB Begin > > transaction 10 > > 10:49:42,279 DEBUG > > virtualdatabase.VirtualDatabaseWorkerThread.ITECBAN_DB > > StatementExecuteQuery command > > 10:49:42,282 DEBUG controller.RequestManager.ITECBAN_DB Scheduling > > read Request (22): select people_seq.nextval from dual/ > > 10:49:42,282 DEBUG controller.RequestManager.ITECBAN_DB Getting from > > cache read request (22): select people_seq.nextval from dual/ > > 10:49:42,283 DEBUG controller.RequestManager.ITECBAN_DB Load balancing > > read request (22): select people_seq.nextval from dual/ > First issue is that Sequoia does not broadcast this select statement > which means that the sequence will not get updated on all nodes. This > will lead to a cluster inconsistency and needs some alteration of the > regular expressions to make sure that these statements are broadcast and > logged into the recovery log. Note that there is a similar issue with > PostgreSQL that can be circumvented by altering the Hibernate dialect > to transform select into a stored procedure call (see Sequoia doc and > recent thread on the mailing list). Ok I see what you mean with altering the Hibernate dialect, but I do not like the call procedure solution, I prefer the second one, is a more clean sloution. Is this fix included in the sequoia 3.1 beta? > If you are using Sequoia 3.0, you can also enter a custom semantic > information to force any 'select ... from dual' to be broadcast. Just > set the readonly field to false (note that this is only available with > https://forge.continuent.org/jira/browse/SEQUOIA-849 fix). If we have several oracle db replicated by sequoia cluster. How can we know that different inserts over the same table from different computers and managed by different sequoia controller will not get the same primary key ID and multicast this value to the others? Both queries are sent at the same time form different clients insert into tableT rowA managed by sequoiaA requests OracleA gets ID 5 on Oracle A ? then multicast? insert into tableT rowB managed by sequoiaB requests OrableB gets ID 5 on Oracle B? then multicast? Are you using any totally ordered multicast algorithm? that prevents this scenario? > > 10:49:42,419 DEBUG > > virtualdatabase.VirtualDatabaseWorkerThread.ITECBAN_DB > > StatementExecuteUpdate command > > 10:49:42,423 DEBUG controller.RequestManager.ITECBAN_DB Aborting > > transaction 10 > > 10:49:42,425 DEBUG controller.RequestManager.ITECBAN_DB Transaction 10 > > aborted > It is not clear here what triggered the transaction abort. Having DEBUG > information from the DatabaseBackend might help here. Ok I will run the same scenario with DEBUG info at the DatabaseBackend and posted. > > ... > > 10:51:35,177 DEBUG controller.RequestManager.ITECBAN_DB Getting from > > cache read request (23): select people_seq.nextval from dual/ > As nextval is not properly detected, it is also cached which means that > you will get duplicate ids ! An option would be to remove the request > cache but that will not solve the missing broadcast issue anyway that > should be fixed using one of the options described above. Ok how can I do this? Once I have solved the previous problem? --- remove the request cache? > > Thanks for your feedback, > 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
