I'm doing some tests with carob and libodbsequoia, and I got the follow problem:

First, 1 controller (without Distribution Message) and 2 backends. try to execute a insert that will fail in all backends (violate duplicate primary key);

   DEBUG:  (RoundRobinConnectPolicy::getController) Selected 
controller[0]:voyager6:25322

   INFO:   (Connection::initConnection) Authenticating with controller 
voyager6:25322

   DEBUG:  (JavaSocket::Create) Creating socket...

   DEBUG:  (JavaSocket::Create) Socket created.

   DEBUG:  (JavaSocket::connectTo) Connecting...

   INFO:   (JavaSocket::connectTo) Connection to voyager6:25322 succeeded

   DEBUG:  (Connection::statementExecute) Sending request INSERT INTO usuario

            (nomeusuario, loginweb, senhaweb, frota_idfrota, ativo)

            VALUES

            ('Leandro Borges', 'lpborges', 'lpborges', '2', 'TRUE')

   DEBUG:  (Connection::close) Deleting statements created by this connection

   DEBUG:  (Connection::closeSocket) Closing socket to controller

   DEBUG:  (closeSocket) Socket closed.

   DEBUG:  (JavaSocket::~JavaSocket) About to close socket...

  I got the error, and it's all OK.
  Now the same test with 2 controllers with 2 backends each:

   WARN:   (env.cpp:SQLSetEnvAttr(ODBC_VERSION, 2, )) now faking ODBC version 2

   DEBUG:  (RoundRobinConnectPolicy::getController) Selected 
controller[0]:genesis6:25322

   INFO:   (Connection::initConnection) Authenticating with controller 
genesis6:25322

   DEBUG:  (JavaSocket::Create) Creating socket...

   DEBUG:  (JavaSocket::Create) Socket created.

   DEBUG:  (JavaSocket::connectTo) Connecting...

   INFO:   (JavaSocket::connectTo) Connection to genesis6:25322 succeeded

   DEBUG:  (Connection::statementExecute) Sending request INSERT INTO usuario

            (nomeusuario, loginweb, senhaweb, frota_idfrota, ativo)

            VALUES

            ('Leandro Borges', 'lpborges', 'lpborges', '2', 'TRUE')


The applications hangs here, the ODBC don't receive the response from controller, in the sequoia log I got:

2006-07-20 09:28:07,732 ERROR controller.loadbalancer.RAIDb1 write request 
562949953421341 failed:

Backend rastreador2 - BackendWorkerThread for backend 'rast_apollo'
with RAIDb level:1 failed (ERROR: duplicate key violates unique
constraint "usuario_frota_idfrota_key")

Backend rastreador2 - BackendWorkerThread for backend
'rast_voyager' with RAIDb level:1 failed (ERROR: duplicate key violates
unique constraint "usuario_frota_idfrota_key")

2006-07-20 09:28:07,732 WARN  controller.RequestManager.rastreador2 
SQLException while executing distributed write request

write request 562949953421341 failed:

Backend rastreador2 - BackendWorkerThread for backend 'rast_apollo'
with RAIDb level:1 failed (ERROR: duplicate key violates unique
constraint "usuario_frota_idfrota_key")

Backend rastreador2 - BackendWorkerThread for backend
'rast_voyager' with RAIDb level:1 failed (ERROR: duplicate key violates
unique constraint "usuario_frota_idfrota_key")

java.sql.SQLException: write request 562949953421341 failed:

Backend rastreador2 - BackendWorkerThread for backend 'rast_apollo'
with RAIDb level:1 failed (ERROR: duplicate key violates unique
constraint "usuario_frota_idfrota_key")

Backend rastreador2 - BackendWorkerThread for backend
'rast_voyager' with RAIDb level:1 failed (ERROR: duplicate key violates
unique constraint "usuario_frota_idfrota_key")

      at 
org.continuent.sequoia.common.exceptions.SQLExceptionFactory.getSQLException(SQLExceptionFactory.java:88)

      at 
org.continuent.sequoia.controller.loadbalancer.raidb1.RAIDb1.checkTaskCompletion(RAIDb1.java:939)

      at 
org.continuent.sequoia.controller.loadbalancer.raidb1.RAIDb1.execWriteRequest(RAIDb1.java:344)

      at 
org.continuent.sequoia.controller.loadbalancer.raidb1.RAIDb1.statementExecuteUpdate(RAIDb1.java:250)

      at 
org.continuent.sequoia.controller.requestmanager.RequestManager.loadBalanceStatementExecuteUpdate(RequestManager.java:909)

      at 
org.continuent.sequoia.controller.virtualdatabase.protocol.DistributedStatementExecuteUpdate.executeScheduledRequest(DistributedStatementExecuteUpdate.java:87)

      at 
org.continuent.sequoia.controller.virtualdatabase.protocol.DistributedRequest.handleMessageMultiThreaded(DistributedRequest.java:157)

      at 
org.continuent.sequoia.controller.virtualdatabase.DistributedVirtualDatabase.handleMessageMultiThreaded(DistributedVirtualDatabase.java:331)

      at 
org.continuent.hedera.adapters.MulticastRequestAdapterThread.run(MulticastRequestAdapterThread.java:99).

Than all my others (C++ and Tomcat) applications begins to hangs when execute some stored procedures without received response from controllers. I don't know if this is a libodbsequoia or sequoia issue, but thanks for any help.
  Leandro Borges.

                
_______________________________________________________ Novidade no Yahoo! Mail: receba alertas de novas mensagens no seu celular. Registre seu aparelho agora! http://br.mobile.yahoo.com/mailalertas/



_______________________________________________
Carob mailing list
[email protected]
https://forge.continuent.org/mailman/listinfo/carob

Reply via email to