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

Reply via email to