Hi, Emmanuel.
Thanks for pointing on Embedded log feature. Very useful.
Now I can restore backend from dump, but I still can't enable backend.
See log.
1. Database failed(I have stopped win service SQl Server)
2. Trying to create table:
15:42:57,390 DEBUG controller.core.Controller Starting new
ControllerWorkerThread
15:42:57,406 DEBUG controller.core.Controller Connection from
/192.168.0.2:4195
15:42:57,406 DEBUG controller.core.Controller Notifying
VirtualDatabaseWorkerThread
15:43:12,406 DEBUG controller.core.Controller ControllerWorkerThread
terminating.
15:43:51,656 DEBUG controller.RequestManager.VirtualDatabase Broadcasting
request create table Table_1 (ID bigint,NAME var... to all controllers
(Member(address=/192.168.0.2:3268,
uid=192.168.0.2:3268)->[Member(address=/192.168.0.2:3268,
uid=192.168.0.2:3268), Member
15:43:51,656 DEBUG continuent.hedera.adapters Sending message 6 to 2
members.
15:43:51,906 DEBUG controller.RequestManager.VirtualDatabase Database schema
is dirty, refreshing it
15:43:51,906 DEBUG controller.RequestManager.VirtualDatabase Scheduling
write request (281474976710657): create table Table_1 (ID bigint,NAME var...
15:43:51,906 DEBUG sequoia.controller.scheduler Schedule create table
Table_1 (ID bigint,NAME varchar(50), EMAIL varchar(50),TEXT1
varchar(50),TEXT2 varchar(50),TEXT3 varchar(50),TEXT4 varchar(50),TEXT5
varchar(50))/ - Current pending writes: 1
15:43:51,906 DEBUG controller.RequestManager.VirtualDatabase Load balancing
write request (281474976710657,281474976710657): create table Table_1 (ID
bigint,NAME var...
15:43:51,937 DEBUG sequoia.controller.recoverylog Logging request 1
15:43:51,937 DEBUG sequoia.controller.recoverylog
[EMAIL PROTECTED] INTO RECOVERY
VALUES(?,?,?,?,?,?,?,?,?,?,?)], parameters=[[1], [sa], [create table Table_1
(ID bigint,NAME varchar(50), EMAIL varchar(50),TEXT1 varchar(50),TEX
15:43:51,937 DEBUG sequoia.controller.loadbalancer Request 281474976710657
execute on 1 backends
15:43:51,953 DEBUG sequoia.controller.loadbalancer Removed create table
Table_1 (ID bigint,NAME varchar(50), EMAIL varchar(50),TEXT1
varchar(50),TEXT2 varchar(50),TEXT3 varchar(50),TEXT4 varchar(50),TEXT5
varchar(50))/ from total order queue
15:43:51,953 DEBUG backend.DatabaseBackend.mainPCDB Scheduling request
create table Table_1 (ID bigint,NAME varchar(50), EMAIL varchar(50),TEXT1
varchar(50),TEXT2 varchar(50),TEXT3 varchar(50),TEXT4 varchar(50),TEXT5
varchar(50))/ in non conflicting queue
15:43:51,968 DEBUG backend.DatabaseBackend.mainPCDB Adding task Autocommit
StatementExecuteUpdateTask 281474976710657 (create table Table_1 (ID
bigint,NAME varchar(50), EMAIL varchar(50),TEXT1 varchar(50),TEXT2
varchar(50),TEXT3 varchar(50),TEXT4 varchar(50),TEXT5 va
15:43:51,968 DEBUG backend.DatabaseBackend.mainPCDB Executing task
Autocommit StatementExecuteUpdateTask 281474976710657 (create table Table_1
(ID bigint,NAME varchar(50), EMAIL varchar(50),TEXT1 varchar(50),TEXT2
varchar(50),TEXT3 varchar(50),TEXT4 varchar(50),TEXT5
15:43:52,015 DEBUG continuent.hedera.adapters Received reply from
Member(address=/192.168.0.3:1495, uid=192.168.0.3:1495) to message 6
15:43:52,906 DEBUG sequoia.controller.connection failed to get connection
for driver
java.sql.SQLException: Network error IOException: Connection refused:
connect
at net.sourceforge.jtds.jdbc.ConnectionJDBC2.<init>(
ConnectionJDBC2.java:372)
at net.sourceforge.jtds.jdbc.ConnectionJDBC3.<init>(
ConnectionJDBC3.java:50)
at net.sourceforge.jtds.jdbc.Driver.connect(Driver.java:178)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at
org.continuent.sequoia.controller.connection.DriverManager.getConnection(
DriverManager.java:106)
at
org.continuent.sequoia.controller.connection.AbstractConnectionManager.getConnectionFromDriver
(AbstractConnectionManager.java:376)
at
org.continuent.sequoia.controller.connection.VariablePoolConnectionManager.getConnection
(VariablePoolConnectionManager.java:337)
at
org.continuent.sequoia.controller.connection.AbstractConnectionManager.getRenewedConnectionInAutoCommit
(AbstractConnectionManager.java:421)
at
org.continuent.sequoia.controller.connection.AbstractConnectionManager.retrieveConnectionInAutoCommit
(AbstractConnectionManager.java:607)
at
org.continuent.sequoia.controller.loadbalancer.tasks.StatementExecuteUpdateTask.executeInAutoCommit
(StatementExecuteUpdateTask.java:156)
at
org.continuent.sequoia.controller.loadbalancer.tasks.StatementExecuteUpdateTask.executeTask
(StatementExecuteUpdateTask.java:105)
at
org.continuent.sequoia.controller.loadbalancer.tasks.AbstractTask.execute(
AbstractTask.java:140)
at
org.continuent.sequoia.controller.loadbalancer.BackendWorkerThread.run(
BackendWorkerThread.java:194)
Caused by: java.net.ConnectException: Connection refused: connect
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(Unknown Source)
at java.net.PlainSocketImpl.connectToAddress(Unknown Source)
at java.net.PlainSocketImpl.connect(Unknown Source)
at java.net.SocksSocketImpl.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at net.sourceforge.jtds.jdbc.SharedSocket.createSocketForJDBC3(
SharedSocket.java:289)
at net.sourceforge.jtds.jdbc.SharedSocket.<init>(SharedSocket.java
:250)
at net.sourceforge.jtds.jdbc.ConnectionJDBC2.<init>(
ConnectionJDBC2.java:297)
... 13 more
15:43:53,000 ERROR sequoia.controller.connection Backend mainPCDB is no more
accessible.
15:43:53,000 DEBUG controller.loadbalancer.RAIDb1 write request
281474976710657 failed:
Backend VirtualDatabase - BackendWorkerThread for backend 'mainPCDB' with
RAIDb level:1 failed (Backend mainPCDB is no more reachable.)
15:43:53,000 DEBUG controller.RequestManager.VirtualDatabase SQLException
while executing distributed write request write request 281474976710657
failed:
Backend VirtualDatabase - BackendWorkerThread for backend 'mainPCDB' with
RAIDb level:1 failed (Backend mainPCDB is no more reachable.)
java.sql.SQLException: write request 281474976710657 failed:
Backend VirtualDatabase - BackendWorkerThread for backend 'mainPCDB' with
RAIDb level:1 failed (Backend mainPCDB is no more reachable.)
at
org.continuent.sequoia.common.exceptions.SQLExceptionFactory.getSQLException
(SQLExceptionFactory.java:88)
at
org.continuent.sequoia.controller.loadbalancer.raidb1.RAIDb1.checkTaskCompletion
(RAIDb1.java:936)
at
org.continuent.sequoia.controller.loadbalancer.raidb1.RAIDb1.execWriteRequest
(RAIDb1.java:342)
at
org.continuent.sequoia.controller.loadbalancer.raidb1.RAIDb1.statementExecuteUpdate
(RAIDb1.java:248)
at
org.continuent.sequoia.controller.requestmanager.RequestManager.loadBalanceStatementExecuteUpdate
(RequestManager.java:910)
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:335)
at org.continuent.hedera.adapters.MulticastRequestAdapterThread.run(
MulticastRequestAdapterThread.java:102)
15:43:53,000 DEBUG backend.DatabaseBackend.mainPCDB Database backend
mainPCDB is now in state sequoia.virtualdatabase.backend.disabled
15:43:53,046 INFO controller.RequestManager.VirtualDatabase Setting new
virtual database schema.
15:43:53,046 DEBUG backend.DatabaseBackend.mainPCDB Stopping 5 worker
threads of backend mainPCDB
15:43:53,046 DEBUG continuent.hedera.adapters Replying to
Member(address=/192.168.0.2:3268, uid=192.168.0.2:3268) for message 6
15:43:53,062 DEBUG continuent.hedera.adapters Received reply from
Member(address=/192.168.0.2:3268, uid=192.168.0.2:3268) to message 6
15:43:53,062 DEBUG controller.RequestManager.VirtualDatabase Request create
table Table_1 (ID bigint,NAME var... completed.
15:43:53,062 DEBUG controller.RequestManager.VirtualDatabase Request
281474976710657 failed on controller Member(address=/192.168.0.2:3268, uid=
192.168.0.2:3268) (java.sql.SQLException: write request 281474976710657
failed:
Backend VirtualDatabase - BackendWorkerThread for backend 'mainPCDB' with
RAIDb level:1 failed (Backend mainPCDB is no more reachable.)
)
15:43:53,062 DEBUG controller.RequestManager.VirtualDatabase Controller
Member(address=/192.168.0.3:1495, uid=192.168.0.3:1495) has no more backends
to execute query (
org.continuent.sequoia.common.exceptions.NoMoreBackendException: No backend
to execute the request.)
15:43:53,078 DEBUG continuent.hedera.adapters Sending message 7 to 1
members.
15:43:53,093 DEBUG sequoia.controller.scheduler Write completed, remaining
pending writes: 0
15:43:53,093 DEBUG continuent.hedera.adapters Replying to
Member(address=/192.168.0.2:3268, uid=192.168.0.2:3268) for message 7
15:43:53,093 DEBUG sequoia.controller.recoverylog Logging request 1
15:43:53,093 DEBUG sequoia.controller.recoverylog
[EMAIL PROTECTED] RECOVERY SET
exec_status=?,update_count=?,exec_time=?,completion_log_id=? WHERE
log_id=?], parameters=[[F], [-1], [0], [1], [1]]]
15:43:53,093 DEBUG continuent.hedera.adapters Received reply from
Member(address=/192.168.0.2:3268, uid=192.168.0.2:3268) to message 7
15:43:53,093 DEBUG continuent.hedera.adapters Sending message 8 to 1
members.
15:43:53,125 DEBUG continuent.hedera.adapters Received reply from
Member(address=/192.168.0.3:1495, uid=192.168.0.3:1495) to message 8
15:43:53,125 DEBUG controller.RequestManager.VirtualDatabase Request create
table Table_1 (ID bigint,NAME var... failed (write request 281474976710657
failed:
Backend VirtualDatabase - BackendWorkerThread for backend 'mainPCDB' with
RAIDb level:1 failed (Backend mainPCDB is no more reachable.)
)
3. Restoring database connection(starting win service of SQL Server).
4. Restoring from dump :
Virtual database Administrator Login > admin
Virtual database Administrator Password >
Ready to administrate virtual database VirtualDatabase
VirtualDatabase(admin) > expert on
Expert mode on
VirtualDatabase(admin) > show backend *
+--------------------------+---------------------------------------------------+
| Backend Name |
mainPCDB |
| Driver | net.sourceforge.jtds.jdbc.Driver
|
| URL |
jdbc:jtds:sqlserver://192.168.0.2/VirtualDatabase |
| Active transactions |
0 |
| Pending Requests |
0 |
| Read Enabled |
false |
| Write Enabled |
false |
| Is Initialized |
true |
| Static Schema |
false |
| Connection Managers |
1 |
| Total Active Connections |
0 |
| Persistent Connections |
0 |
| Total Requests |
0 |
| Total Transactions |
0 |
| Last known checkpoint |
<unknown> |
+--------------------------+---------------------------------------------------+
15:47:21,312 DEBUG controller.jmx.AuthenticatingMBeanServer no
authentication required
15:47:21,328 DEBUG controller.jmx.AuthenticatingMBeanServer no
authentication required
15:47:36,328 DEBUG controller.jmx.AuthenticatingMBeanServer no
authentication required
15:47:36,343 DEBUG controller.jmx.AuthenticatingMBeanServer no
authentication required
15:47:36,343 DEBUG controller.jmx.AuthenticatingMBeanServer Authentication
with principal was successfull
15:48:04,531 DEBUG controller.jmx.AuthenticatingMBeanServer no
authentication required
15:48:04,546 DEBUG controller.jmx.AuthenticatingMBeanServer no
authentication required
15:48:04,546 DEBUG controller.jmx.AuthenticatingMBeanServer Authentication
with principal was successfull
15:48:04,546 DEBUG sequoia.controller.recoverylog Retrieving dump init_dump
information
15:48:04,546 DEBUG backend.DatabaseBackend.mainPCDB Database backend
mainPCDB is now in state sequoia.virtualdatabase.backend.recovering
15:48:05,203 DEBUG backup.backupers.MSSQLBackuper Restoring
jdbc:jtds:sqlserver://192.168.0.2/VirtualDatabase from \tmp\init_dump
15:48:08,000 DEBUG backend.DatabaseBackend.mainPCDB Database backend
mainPCDB is now in state sequoia.virtualdatabase.backend.disabled
15:48:08,015 INFO controller.RequestManager.VirtualDatabase Recovery of
backend mainPCDB done.
enable mainPCDB:
15:48:42,984 DEBUG controller.jmx.AuthenticatingMBeanServer no
authentication required
15:48:42,984 DEBUG controller.jmx.AuthenticatingMBeanServer no
authentication required
15:48:43,000 DEBUG controller.jmx.AuthenticatingMBeanServer Authentication
with principal was successfull
15:48:43,000 DEBUG backend.DatabaseBackend.mainPCDB Dynamic schema gathering
level: false
15:48:43,000 DEBUG backend.DatabaseBackend.mainPCDB Gathering database
schema
15:48:43,000 ERROR backend.DatabaseBackend.mainPCDB Unable to get a
connection to gather database schema.
15:48:43,015 WARN backend.DatabaseBackend.mainPCDB Unable to gather schema
from database meta data: java.sql.SQLException: Failed to get information
about database schema: java.sql.SQLException: Unable to get a connection to
gather database schema.
15:48:43,015 DEBUG backend.DatabaseBackend.mainPCDB Dynamic schema gathering
level: false
15:48:43,031 DEBUG backend.DatabaseBackend.mainPCDB Gathering database
schema
15:48:43,031 ERROR backend.DatabaseBackend.mainPCDB Unable to get a
connection to gather database schema.
15:48:43,031 WARN backend.DatabaseBackend.mainPCDB Unable to gather schema
from database meta data: java.sql.SQLException: Failed to get information
about database schema: java.sql.SQLException: Unable to get a connection to
gather database schema.
15:48:43,031 WARN controller.virtualdatabase.VirtualDatabase Backend
mainPCDB has no defined schema.
15:48:43,031 DEBUG backend.DatabaseBackend.mainPCDB Database backend
mainPCDB is now in state sequoia.virtualdatabase.backend.replaying
15:48:43,046 DEBUG controller.jmx.MBeanServer Total number of MBeans
registered: 28
Hanging................
Version of Sequoia: 3.0 beta 2
Database: MS SQL Server 2005 Express Edition
OS: Windows XP SP2
JVM version: 1.6
One controller with one backend
I have tested issue in the configuration with only one controller, because I
can't transfer dump.
I'll post details about that problem to sequoia community in my next letter.
Configuration files:
Controller:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE SEQUOIA-CONTROLLER PUBLIC "-//Continuent//DTD SEQUOIA-CONTROLLER
@VERSION@//EN" "C:/sequoia/xml/sequoia-controller-3.0-beta2.dtd">
<SEQUOIA-CONTROLLER>
<Controller name="mainPCController" jdbcIpAddress="192.168.0.2"
jdbcPort="25322">
<JmxSettings jmxIpAddress="192.168.0.2" jmxPort="1090"/>
<VirtualDatabaseAutoLoad configFile="Xml/pcDB.xml"
virtualDatabaseName="VirtualDatabase" autoEnableBackends="true"/>
</Controller>
</SEQUOIA-CONTROLLER>
Virtual database:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE SEQUOIA SYSTEM "C:/sequoia/xml/sequoia-3.0-beta2.dtd">
<SEQUOIA>
<VirtualDatabase name="VirtualDatabase">
<Distribution>
<MessageTimeouts/>
</Distribution>
<Backup>
<Backuper backuperName="MSSQLServer" className="
org.continuent.sequoia.controller.backup.backupers.MSSQLBackuper"/>
</Backup>
<AuthenticationManager>
<AdminUser username="admin" password=""/>
<VirtualUser vLogin="sa" vPassword="1"/>
</AuthenticationManager>
<DatabaseBackend name="mainPCDB"
driver="net.sourceforge.jtds.jdbc.Driver"
url="jdbc:jtds:sqlserver://192.168.0.2/VirtualDatabase"
connectionTestStatement="SELECT 1">
<ConnectionManager vLogin="sa"
rLogin="sa"
rPassword="1">
<VariablePoolConnectionManager
initPoolSize="10"
minPoolSize="5"
maxPoolSize="50"
idleTimeout="30"
waitTimeout="30"/>
</ConnectionManager>
</DatabaseBackend>
<DatabaseSchema/>
<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>
<EmbeddedRecoveryLog/>
</RequestManager>
</VirtualDatabase>
</SEQUOIA>
--
Best regards,
Denis Garyachy.
_______________________________________________
Sequoia mailing list
[email protected]
https://forge.continuent.org/mailman/listinfo/sequoia