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

Reply via email to