If 2 controllers are too asynchronous, then a backend may be disabled because
of a request failing on one controller and not the other one
------------------------------------------------------------------------------------------------------------------------------------------
Key: SEQUOIA-1014
URL: https://forge.continuent.org/jira/browse/SEQUOIA-1014
Project: Sequoia
Type: Bug
Components: Core
Versions: Sequoia 2.10.9
Reporter: Stephane Giron
Assigned to: Stephane Giron
This issue can be observed using mysql as backend (other database backends may
show the same issue as well).
It is related to the way the locks are taken into the backend and also to the
effect of a statement failing inside a transaction.
As an example,
create table table1 (i integer)
create table table2 (i integer)
Then with 3 threads (C1, C2 and C3) :
C1 : begin
C1 : delete from table1
C2 : begin
C2 : delete from table2
C2 : insert into table1 values(1)
C3 : begin
C3 : insert into table2 values(1)
...
If one controller is about one minute late on the other, then the problem will
show up :
C2 : insert into table1 values(1) will fail because it can not get lock in
mysql.
=> when failing, the request C3 : insert into table2 values(1) will be able to
execute
On the controller that is late, the first query will fail, causing the
transaction to be aborted on the cluster.
When the transaction will abort, the locks in mysql will be released.
If the second request already failed on the first controller (the quicker),
this same request will be able to succeed on the second one => the first
backend will the be disabled (because a request failed whereas it succeeded on
the other controller)
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
https://forge.continuent.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira
_______________________________________________
Sequoia mailing list
[email protected]
https://forge.continuent.org/mailman/listinfo/sequoia