Hello Sequoia List!
Setup: Sequoia 2.10 under debian etch on AMD64 architecture. The carob
and libmysequoia tests run flawlessly
against the sequoia demo.
Now I started to configure my controller/backends in raidb1 configuration:
* One Controller node with a local recovery log using mysql 5
* Two Backends running mysql 5.
configuring, initializing, enabling of the backends runs smoothly and I
end up with:
myDB(admin) > show backend *
+--------------------------+----------------------------------+
| Backend Name | DB1 |
| Driver | com.mysql.jdbc.Driver |
| URL | jdbc:mysql://10.2.0.32:3306/myDB |
| Active transactions | 0 |
| Pending Requests | 0 |
| Read Enabled | true |
| Write Enabled | true |
| Is Initialized | true |
| Static Schema | false |
| Connection Managers | 1 |
| Total Active Connections | 5 |
| Persistent Connections | 0 |
| Total Requests | 0 |
| Total Transactions | 0 |
| Last known checkpoint | <unknown> |
+--------------------------+----------------------------------+
| Backend Name | DB2 |
| Driver | com.mysql.jdbc.Driver |
| URL | jdbc:mysql://10.2.0.33:3306/myDB |
| Active transactions | 0 |
| Pending Requests | 0 |
| Read Enabled | true |
| Write Enabled | true |
| Is Initialized | true |
| Static Schema | false |
| Connection Managers | 1 |
| Total Active Connections | 5 |
| Persistent Connections | 0 |
| Total Requests | 0 |
| Total Transactions | 0 |
| Last known checkpoint | <unknown> |
+--------------------------+----------------------------------+
But if I do :
myDB(admin) > localhost:1090 > sql client
jdbc:sequoia://127.0.0.1:25322/myDB
Login > user
Password >
jdbc:sequoia://127.0.0.1:25322/myDB (user) > create table test(i integer);
An error occured while executing SQL query
(org.continuent.sequoia.common.exceptions.driver.DriverSQLException: Message of
cause: Failed to execute request create table test2(i integer);/ because of
(org.continuent.sequoia.controller.requests.StoredProcedure))
Any help welcome! It is surely a stupid configuration error and no bug :-)
Best regards
Volker
Log and configuration attached..
The log:
--------
ctrl1:/usr/local/lib/sequoia# ./bin/controller.sh
16:58:10,840 INFO controller.core.Controller Sequoia controller (2.10)
16:58:10,905 INFO controller.core.Controller Loading configuration file:
/usr/local/lib/sequoia-2.10-bin/config/controller/controller.xml
16:58:11,136 INFO controller.core.Controller JMX is enabled
16:58:11,663 INFO controller.core.Controller Starting JMX server on host:
10.2.0.16
16:58:12,310 INFO controller.backup.BackupManager Registering backuper mysql
to handle format MySQL raw dump
16:58:12,333 INFO backend.DatabaseBackend.DB1 Adding connection manager for virtual user
"user"
16:58:12,341 INFO backend.DatabaseBackend.DB2 Adding connection manager for virtual user
"user"
16:58:13,006 INFO controller.RequestManager.myDB Request manager will parse
requests with the following granularity: TABLE
16:58:13,018 INFO controller.virtualdatabase.myDB Enabling backend DB1 from
checkpoint Initial_empty_recovery_log
16:58:14,764 INFO backend.DatabaseBackend.DB1 Detected backend as: MySQL
16:58:15,265 INFO controller.RequestManager.myDB Setting new virtual database
schema.
16:58:15,330 INFO controller.recoverylog.RecoverThread Starting recovery
16:58:15,334 INFO controller.recoverylog.RecoverThread Recovery completed
16:58:15,524 INFO controller.recoverylog.RecoverThread Database backend DB1 is
now enabled
16:58:15,563 INFO controller.virtualdatabase.myDB Unexpected transition state
(7) for backend DB2. Forcing backend to disabled state.
16:58:15,565 WARN controller.core.Controller Failed to automatically enable
backends, manual resynchronization is probably needed
16:58:15,565 INFO controller.core.Controller Adding VirtualDatabase myDB
16:58:15,570 INFO controller.core.Controller Waiting for connections on
0.0.0.0:25322
16:58:15,590 INFO controller.core.Controller Controller started on 2006.11.03
44 at 04:58:15 PM UTC
16:58:15,590 INFO controller.core.Controller Controller 10.2.0.16:25322 ready,
listening to requests ...
16:58:45,392 INFO backup.backupers.NativeCommandExec Command "mysql -h 10.2.0.33
--port=3306 -uctrl_user --password=schnecke myDB" logged 0 errors and terminated
with exitcode 0
16:58:45,460 INFO controller.RequestManager.myDB Recovery of backend DB2 done.
16:58:49,296 INFO backend.DatabaseBackend.DB2 Detected backend as: MySQL
16:58:49,332 INFO controller.RequestManager.myDB Virtual database schema
merged with new schema.
16:58:49,369 INFO controller.recoverylog.RecoverThread Starting recovery
16:58:49,375 INFO controller.recoverylog.RecoverThread Recovery completed
16:58:49,488 INFO controller.recoverylog.RecoverThread Database backend DB2 is
now enabled
17:06:19,563 WARN controller.RequestManager.myDB Failed to execute request
create table test(i integer);/ because of
(org.continuent.sequoia.controller.requests.StoredProcedure)
java.lang.ClassCastException:
org.continuent.sequoia.controller.requests.StoredProcedure
at
org.continuent.sequoia.controller.loadbalancer.raidb1.RAIDb1.callStoredProcedure(RAIDb1.java:851)
at
org.continuent.sequoia.controller.loadbalancer.raidb1.RAIDb1.statementExecute(RAIDb1.java:281)
at
org.continuent.sequoia.controller.requestmanager.RequestManager.loadBalanceStatementExecute(RequestManager.java:974)
at
org.continuent.sequoia.controller.requestmanager.RequestManager.statementExecute(RequestManager.java:769)
at
org.continuent.sequoia.controller.virtualdatabase.VirtualDatabase.statementExecute(VirtualDatabase.java:735)
at
org.continuent.sequoia.controller.virtualdatabase.VirtualDatabaseWorkerThread.statementExecute(VirtualDatabaseWorkerThread.java:2312)
at
org.continuent.sequoia.controller.virtualdatabase.VirtualDatabaseWorkerThread.run(VirtualDatabaseWorkerThread.java:445)
17:06:19,564 WARN controller.virtualdatabase.myDB Stored procedure 0 failed
(Failed to execute request create table test(i integer);/ because of
(org.continuent.sequoia.controller.requests.StoredProcedure))
17:06:19,565 WARN virtualdatabase.VirtualDatabaseWorkerThread.myDB Error
during command execution (Failed to execute request create table test(i
integer);/ because of
(org.continuent.sequoia.controller.requests.StoredProcedure))
The configuration:
------------------
mysql-single.xml:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE SEQUOIA PUBLIC "-//Continuent//DTD SEQUOIA 2.10//EN"
"http://sequoia.continuent.org/dtds/sequoia-2.10.dtd">
<SEQUOIA>
<VirtualDatabase name="myDB">
<Monitoring>
<SQLMonitoring defaultMonitoring="off">
<SQLMonitoringRule queryPattern="^select" caseSensitive="false" applyToSkeleton
="false" monitoring="on"/>
</SQLMonitoring>
</Monitoring>
<Backup>
<Backuper backuperName="mysql"
className="org.continuent.sequoia.controller.backup.backupers.MySQLBackuper"/>
</Backup>
<AuthenticationManager>
<Admin>
<User username="admin" password=""/>
</Admin>
<VirtualUsers>
<VirtualLogin vLogin="user" vPassword=""/>
</VirtualUsers>
</AuthenticationManager>
<DatabaseBackend name="DB1" driver="com.mysql.jdbc.Driver"
driverPath="/usr/share/java/mysql-3.1.11.jar"
url="jdbc:mysql://10.2.0.32:3306/myDB"
connectionTestStatement="select 1">
<ConnectionManager vLogin="user" rLogin="ctrl_user" rPassword="xxx">
<VariablePoolConnectionManager initPoolSize="10" minPoolSize="5"
maxPoolSize="50" idleTimeout="30" waitTimeout="10"/>
</ConnectionManager>
</DatabaseBackend>
<DatabaseBackend name="DB2" driver="com.mysql.jdbc.Driver"
driverPath="/usr/share/java/mysql-3.1.11.jar"
url="jdbc:mysql://10.2.0.33:3306/myDB"
connectionTestStatement="select 1">
<ConnectionManager vLogin="user" rLogin="ctrl_user" rPassword="xxx">
<VariablePoolConnectionManager initPoolSize="10" minPoolSize="5"
maxPoolSize="50" idleTimeout="30" waitTimeout="10"/>
</ConnectionManager>
</DatabaseBackend>
<RequestManager>
<RequestScheduler>
<RAIDb-1Scheduler level="passThrough"/>
</RequestScheduler>
<RequestCache>
<MetadataCache/>
<ParsingCache/>
<!-- <ResultCache granularity="table"/> -->
</RequestCache>
<LoadBalancer>
<RAIDb-1>
<WaitForCompletion policy="first"/>
<RAIDb-1-LeastPendingRequestsFirst/>
</RAIDb-1>
</LoadBalancer>
<RecoveryLog driver="com.mysql.jdbc.Driver"
driverPath="/usr/share/java/mysql-3.1.11.jar"
url="jdbc:mysql://localhost:3306/recovery" login="ctrl_user"
password="xxx">
<RecoveryLogTable tableName="RECOVERY" logIdColumnType="BIGINT NOT NULL"
vloginColumnType="TEXT NOT NULL"
sqlColumnName="sql2"
sqlColumnType="TEXT NOT NULL"
sqlParamColumnType="TEXT NOT NULL"
transactionIdColumnType="BIGINT NOT NULL"
extraStatementDefinition=",PRIMARY KEY (log_id)"/>
<CheckpointTable tableName="CHECKPOINT"
checkpointNameColumnType="VARCHAR(32) NOT NULL"/>
<BackendTable tableName="BACKEND"
databaseNameColumnType="TEXT NOT NULL"
backendNameColumnType="TEXT NOT NULL"
checkpointNameColumnType="TEXT NOT NULL"/>
<DumpTable tableName="DUMP" dumpNameColumnType="TEXT NOT NULL"
dumpDateColumnType="TIMESTAMP"
dumpPathColumnType="TEXT NOT NULL"
dumpFormatColumnType="TEXT NOT NULL"
checkpointNameColumnType="TEXT NOT NULL"
backendNameColumnType="TEXT NOT NULL"
tablesColumnType="TEXT NOT NULL"/>
</RecoveryLog>
</RequestManager>
</VirtualDatabase>
</SEQUOIA>
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE SEQUOIA-CONTROLLER PUBLIC "-//Continuent//DTD SEQUOIA-CONTROLLER 2.10//EN"
"http://sequoia.continuent.org/dtds/se
quoia-controller-2.10.dtd">
<SEQUOIA-CONTROLLER>
<Controller port="25322">
<Report/>
<JmxSettings>
<RmiJmxAdaptor/>
</JmxSettings>
<VirtualDatabase configFile="mysql-single.xml" virtualDatabaseName="myDB"
autoEnableBackends="true" />
</Controller>
</SEQUOIA-CONTROLLER>
--
====================================================
inqbus it-consulting +49 ( 341 ) 5643800
Dr. Volker Jaenisch http://www.inqbus.de
Herloßsohnstr. 12 0 4 1 5 5 Leipzig
N O T - F Ä L L E +49 ( 170 ) 3113748
====================================================
_______________________________________________
Sequoia mailing list
[email protected]
https://forge.continuent.org/mailman/listinfo/sequoia