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). 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).
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.
...
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.

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

Reply via email to