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