Hi Emanuel,

thanks for your quick reply!

> Hi David,
>> I've set up two controllers with two backends mirrored as raid 1 with
>> mysql.
>>
>> all seems to work fine, but when i try to create tables within the
>> sequoia controller's mysql client the following happens:
>>
>>
>> jdbc:sequoia://10.0.0.2:25322/test (test) > create table barfoo (i
>> integer, vc varchar);
>> An error occured while executing SQL query
>> (org.continuent.sequoia.common.exceptions.driver.DriverSQLException:
>> Message of cause: Internal exception
>> org.continuent.hedera.adapters.TimeoutException)
> The timeout is probably due to a group communication configuration
> issue. Do you have any more information in the controller log file
> that could help us identifying the issue?
This is the relevant content of log/full_cluster.log :

2008-03-11 08:50:32,594 DEBUG sequoia.controller.recoverylog
[EMAIL PROTECTED]: INSERT INTO logtable
VALUES(15,'test','create table barfoo (i integer, vc
varchar);','','A',0,34,'E',0,0)
2008-03-11 08:50:32,595 ERROR controller.loadbalancer.RAIDb1 write
request 34 failed:
Backend test - BackendWorkerThread for backend 'a' with RAIDb level:1
failed (You have an error in your SQL syntax; check the manual that
corresponds to your MySQL server version for the right syntax to use
near ')' at line 1)

2008-03-11 08:50:32,595 WARN  controller.RequestManager.test
SQLException while executing distributed write request write request 34
failed:
Backend test - BackendWorkerThread for backend 'a' with RAIDb level:1
failed (You have an error in your SQL syntax; check the manual that
corresponds to your MySQL server version for the right syntax to use
near ')' at line 1)

java.sql.SQLException: write request 34 failed:
Backend test - BackendWorkerThread for backend 'a' with RAIDb level:1
failed (You have an error in your SQL syntax; check the manual that
corresponds to your MySQL server version for the right syntax to use
near ')' at line 1)

        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:343)
        at
org.continuent.sequoia.controller.loadbalancer.raidb1.RAIDb1.statementExecuteUpdate(RAIDb1.java:249)
        at
org.continuent.sequoia.controller.requestmanager.RequestManager.loadBalanceStatementExecuteUpdate(RequestManager.java:925)
        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:364)
        at
org.continuent.hedera.adapters.MulticastRequestAdapterThread.run(MulticastRequestAdapterThread.java:102)
2008-03-11 08:50:32,641 ERROR continuent.hedera.adapters
PullPushAdapter: Error while reading from channel
java.lang.IllegalArgumentException: java.lang.ClassNotFoundException:
com.mysql.jdbc.exceptions.MySQLSyntaxErrorException
        at org.jgroups.Message.getObject(Message.java:269)
        at
org.continuent.hedera.channel.JGroupsReliableGroupChannel.receive(JGroupsReliableGroupChannel.java:216)
        at
org.continuent.hedera.adapters.PullPushAdapter.run(PullPushAdapter.java:166)
        at java.lang.Thread.run(Thread.java:595)
2008-03-11 08:50:32,646 ERROR continuent.hedera.adapters
PullPushAdapter: Error while reading from channel
java.lang.IllegalArgumentException: java.lang.ClassNotFoundException:
com.mysql.jdbc.exceptions.MySQLSyntaxErrorException
        at org.jgroups.Message.getObject(Message.java:269)
        at
org.continuent.hedera.channel.JGroupsReliableGroupChannel.receive(JGroupsReliableGroupChannel.java:216)
        at
org.continuent.hedera.adapters.PullPushAdapter.run(PullPushAdapter.java:166)
        at java.lang.Thread.run(Thread.java:595)
2008-03-11 08:51:32,557 WARN  controller.RequestManager.test Request 34
failed on controller Member(address=/10.0.0.2:32792, uid=test)
(org.continuent.hedera.adapters.TimeoutException)
2008-03-11 08:51:32,557 WARN  controller.RequestManager.test Request 34
failed on controller Member(address=/10.0.0.3:32794, uid=test)
(org.continuent.hedera.adapters.TimeoutException)
2008-03-11 08:51:32,595 DEBUG sequoia.controller.recoverylog Logging
request 15
2008-03-11 08:51:32,595 DEBUG sequoia.controller.recoverylog
[EMAIL PROTECTED]: UPDATE logtable SET
exec_status='F',update_count=-1,exec_time=0 WHERE log_id=15
2008-03-11 08:51:32,670 WARN  controller.RequestManager.test Request
create table barfoo (i integer, vc varch... failed (Internal exception
org.continuent.hedera.adapters.TimeoutException)
2008-03-11 08:51:32,670 WARN  controller.virtualdatabase.test Request
'34' failed (Internal exception
org.continuent.hedera.adapters.TimeoutException)
2008-03-11 08:51:32,670 WARN 
virtualdatabase.VirtualDatabaseWorkerThread.test Error during command
execution (Internal exception
org.continuent.hedera.adapters.TimeoutException)
2008-03-11 08:51:39,402 DEBUG sequoia.controller.recoverylog Logging
request 16
2008-03-11 08:51:39,403 DEBUG sequoia.controller.recoverylog
[EMAIL PROTECTED]: INSERT INTO logtable
VALUES(16,'test','create table barfoo (i integer);','','A',0,35,'E',0,0)
2008-03-11 08:51:39,410 DEBUG sequoia.controller.recoverylog Logging
request 16
2008-03-11 08:51:39,410 DEBUG sequoia.controller.recoverylog
[EMAIL PROTECTED]: UPDATE logtable SET
exec_status='S',update_count=0,exec_time=8 WHERE log_id=16
2008-03-11 08:51:39,430 INFO  DatabaseBackend.test.a Checking
compatibility with existing database schema
2008-03-11 08:51:39,430 INFO  DatabaseBackend.test.a Database schema for
login "test" is compatible with existing schema


>> a very simple table structure works on the fly, but only with integer
>> fields:
>>
>> jdbc:sequoia://10.0.0.2:25322/test (test) > create table barfoo (i
>> integer);           Affected rows: 0
>> Query executed in 0 s 130 ms .
>>
>>
>> ok, perhaps I have an error in my sql statements, but what really
>> concerns me is that a (maybe) wrong statement produces a timeout
>> instead of an error message.
> This is strange. Maybe the controller gets a non serializable
> SQLException from the driver. What version of the MySQL driver are you
> using?
Not that strange. I realized, that if you use MySQL backends, you have
to use MySQL compatible statements. therefore creating a varchar field
without a specified length produces a MySQL Syntax error which then
leads to the timeout.

FYI: to get the whole thing working with MySQL, I had to replace:
's/VARCHAR/VARCHAR(255)'  in xml/sequoia.dtd

I am using th mysql connector 5.1.5 from MySQL
> What happens if you force the driver to be in the controller classpath
> (that could help work around some serialization issues)?
Do you mean I should put the mysql-connector-java-5.1.5-bin.jar inside
of $SEQUOIA_HOME/lib/ instead of drivers/ ?
>> see my confiuration here:
>>
>> http://kulturbeutel.org/sequoia/controller.xml
>> http://kulturbeutel.org/sequoia/mysql-raid1.xml
>>
>> Any Ideas?
> The configuration looks good. I suppose the configuration is similar
> for the second controller.
> You should check if the initialization procedure worked properly and
> if the controllers see each other properly.
>
> Thanks for your feedback,
> Emmanuel
>

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

Reply via email to