Hi Denis,
I am experiencing problems with recovering backend after database failure.
Version of Sequoia: 3.0 beta 2
Database: MS SQL Server 2005 Express Edition
Which JDBC driver are you using ?
OS: Windows XP SP2
JVM version: 1.6
As I can see from mail-archive similar issue was in version 2.8.2: http://www.arcknowledge.com/gmane.comp.db.sequoia.general/2006-06/msg00153.html <http://www.arcknowledge.com/gmane.comp.db.sequoia.general/2006-06/msg00153.html> Scenario:
1. execute controller.bat
2. create a dump.
So I guess that you have a single controller and that you have an autoload of your configuration file since you don't mention any config file loading. What kind of replication are you using? SingleDB, RAIDb0, 1 or 2, ParallelDB?
What recovery log configuration do you use?
4. stop MS SQL Server service
5. use console.bat to execute SQL-statements
Do you have multiple databases? Are you trying to produce an error or just check that other databases will transparently continue to serve requests?
6. start MS SQL Server service
8. start the sequoia admin console
9. restore the dump
Did you manually check that the dump file that was generated was correct?
10. enable backend (doesn't works, admin console hangs).
Executing SQL statements from console:

2007-01-24 13:54:24,312 ERROR sequoia.controller.recoverylog Failed to log 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)) java.sql.SQLException: I/O Error: Connection reset by peer: socket write error
 at net.sourceforge.jtds.jdbc.TdsCore.executeSQL(TdsCore.java:1049)
 at net.sourceforge.jtds.jdbc.TdsCore.microsoftPrepare(TdsCore.java :1175)
at net.sourceforge.jtds.jdbc.ConnectionJDBC2.prepareSQL(ConnectionJDBC2.java:646) at net.sourceforge.jtds.jdbc.JtdsPreparedStatement.executeUpdate(JtdsPreparedStatement.java:420)
.........

This might explain why you have these problems. Given that the recovery log fails, you are probably trying to store the controller recovery log on the very same database that you just stopped. This is certainly a very bad idea since the controller cannot enable a backend without a working recovery log. If you are using Sequoia 3.0 you can just use the new EmbeddedRecoveryLog to prevent that kind of issue, else you have to make sure that you point your recovery log to a database that is not stopped during controller operation.

Enabling backend:

2007-01-24 13:56:12,937 ERROR backend.DatabaseBackend.mainPCDB Unable to get a connection to gather database schema. 2007-01-24 13:56:12,937 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.

For some reason, new JDBC connections to the database cannot be established. It is not clear from this small context to say exactly why.

Let us know if the recovery log configuration mentioned above could be the root cause of your problem.
Thanks for your feedback,
Emmanuel

--
Emmanuel Cecchet
Chief Scientific Officer, Continuent

Blog: http://emanux.blogspot.com/
Open source: http://www.continuent.org
Corporate: http://www.continuent.com
Skype: emmanuel_cecchet
Cell: +33 687 342 685


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

Reply via email to