Hi Robert,
Thanks for your hint. I will check it. Zoe -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Robert Hodges Sent: Wednesday, September 03, 2008 10:01 AM To: Sequoia general mailing list Subject: Re: [Sequoia] sequoia controller replay failed in distribution Hi Zoe, You might check back in the sequoia log prior to this problem and see if you see any error messages related to recovery log writing. With this definition you would potentially have a problem if you had a statement longer than 1024 characters. Or with this definition, you would have a problem if you are using prepared statements with parameters that are more than 100 characters. I would recommend using TEXT for the sqlParamColumnType value-we don't index it and it protects you from oversize data. To find problems with recovery, grep for the string 'recovery' and look for WARNING or ERROR messages indicating that writes to the recovery log are failing. Thanks and good luck! Robert On 9/3/08 9:26 AM, "Zoe Li" <[EMAIL PROTECTED]> wrote: Hi Emmanuel, Here is one of the recovery log configuration. The other one is very similar but just pointing to different database. Yes, I'm using separate databases for the Virtual database of the 2 controllers. I turned on the RecoveryLog configuration starts here: <RecoveryLog driver="com.mysql.jdbc.Driver" url="jdbc:mysql://ape7:3306/sequoia-recovery-test" login="root" password="216afp95"> <RecoveryLogTable tableName="recovery" logIdColumnType="INT(32) NOT NULL" vloginColumnType="VARCHAR(100) NOT NULL" sqlColumnName="sqlstat" sqlColumnType="VARCHAR(1024) NOT NULL" transactionIdColumnType="INT(32) NOT NULL" requestIdColumnType="INT(32)" sqlParamColumnType="VARCHAR(100)" execStatusColumnType="CHAR(1)" execTimeColumnType="INT(32)" updateCountColumnType="INT(32)" extraStatementDefinition=",PRIMARY KEY (log_id)"/> <CheckpointTable tableName="checkpoint" checkpointNameColumnType="VARCHAR(512) NOT NULL" logIdColumnType="INT(32)"/> <BackendTable tableName="backend" databaseNameColumnType="VARCHAR(100) NOT NULL" backendNameColumnType="VARCHAR(100) NOT NULL" checkpointNameColumnType="VARCHAR(100) NOT NULL"/> <DumpTable tableName="dump" dumpNameColumnType="VARCHAR(100) NOT NULL" dumpDateColumnType="TIMESTAMP" dumpPathColumnType="VARCHAR(512) NOT NULL" dumpFormatColumnType="VARCHAR(100) NOT NULL" checkpointNameColumnType="VARCHAR(100) NOT NULL" backendNameColumnType="VARCHAR(100) NOT NULL" tablesColumnType="VARCHAR(100) NOT NULL"/> </RecoveryLog> End of recovery log configuration. Here is the log message with DEBUG on for the error. 2008-08-22 18:31:12,011 DEBUG DatabaseBackend.testDB.mysql-ape22 Adding task KillThreadTask to pending request queue 2008-08-22 18:31:12,011 DEBUG backend.DatabaseBackend.mysql-ape22 Executing task KillThreadTask 2008-08-22 18:31:12,011 DEBUG backend.DatabaseBackend.mysql-ape22 testDB - BackendWorkerThread for backend 'mysql-ape22' with RAIDb level:1 is shutting down 2008-08-22 18:31:12,011 DEBUG backend.DatabaseBackend.mysql-ape22 Task KillThreadTask completed 2008-08-22 18:31:12,011 WARN controller.virtualdatabase.testDB Virtual database testDB failed to enable database backend mysql-ape22 from checkpoint (because of : java.sql.SQLException: Recovery process failed to replay: request Autocommit StatementExecuteUpdateTask 562949953421313 (insert into tenant values (4, 'tenant0004', 40)) (Backend testDB - BackendWorkerThread for backend 'mysql-ape22' with RAIDb level:1 failed (null))) java.sql.SQLException: Recovery process failed to replay: request Autocommit StatementExecuteUpdateTask 562949953421313 (insert into tenant values (4, 'tenant0004', 40)) (Backend testDB - BackendWorkerThread for backend 'mysql-ape22' with RAIDb level:1 failed (null)) at org.continuent.sequoia.controller.recoverylog.RecoverThread.waitForAllTasksC ompletion(RecoverThread.java:625) at org.continuent.sequoia.controller.recoverylog.RecoverThread.run(RecoverThrea d.java:272) 2008-08-22 18:31:12,012 WARN controller.core.Controller Failed to automatically enable backends, manual resynchronization is probably needed 2008-08-22 18:31:12,012 INFO controller.core.Controller Adding VirtualDatabase testDB 2008-08-22 18:31:12,012 DEBUG controller.core.Controller Autoload for config file: /home/zli/sequoia-2.10.10-bin/config/virtualdatabase/test-mysql-distribution -2.xml has been set to: 0 End of the log message. If you need any other information, please let me know. Thanks. Zoe -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]> On Behalf Of Emmanuel Cecchet Sent: Tuesday, September 02, 2008 6:50 PM To: Sequoia general mailing list Subject: Re: [Sequoia] sequoia controller replay failed in distribution Hi Zoe, Could you post your recovery log configuration? Are you using a separate database for the recovery log? Do you use a different recovery log for each controller? Did you get any complete stack trace from the log file? Thanks for your feedback, Emmanuel > I just downloaded sequoia 2.10.10 for trial. I setup a 2-controller > distribution and I would like to see how the shutdown controller recovery > from graceful shutdown. During the startup of the shutdown controller, it > was trying to replay the recovery log from the other controller but it > failed. > > Here is the log message: > > 2008-08-22 18:31:12,011 WARN controller.virtualdatabase.testDB Virtual > database testDB failed to enable database backend mysql-ape22 from > checkpoint (because of : java.sql.SQLException: Recovery process failed to > replay: request Autocommit StatementExecuteUpdateTask 562949953421313 > (insert into tenant values (4, 'tenant0004', 40)) (Backend testDB - > BackendWorkerThread for backend 'mysql-ape22' with RAIDb level:1 failed > (null))) > java.sql.SQLException: Recovery process failed to replay: request Autocommit > StatementExecuteUpdateTask 562949953421313 (insert into tenant values (4, > 'tenant0004', 40)) (Backend testDB - BackendWorkerThread for backend > 'mysql-ape22' with RAIDb level:1 failed (null)) > at > org.continuent.sequoia.controller.recoverylog.RecoverThread.waitForAllTasksC > ompletion(RecoverThread.java:625) > at > org.continuent.sequoia.controller.recoverylog.RecoverThread.run(RecoverThrea > d.java:272) > 2008-08-22 18:31:12,012 WARN controller.core.Controller Failed to > automatically enable backends, manual resynchronization is probably needed > 2008-08-22 18:31:12,012 INFO controller.core.Controller Adding > VirtualDatabase testDB > > Have anyone tried similar steps as follows: > > 1) Bring up a 2-controller distribution. > 2) Initialize and enable the backend of the VD of controller 1. > 3) Transfer the dump from controller 1 to the other by using admin > console. > 4) Enable controller 2 VD backends. > 5) Use iSQL, connect to sequoia driver and insert one new entry via the > sequoia driver. > 6) Everything is ok so far. New entry entered to both backends. > Recovery log showed new entry. > 7) Shutdown VD on controller 2 and then shutdown controller 2 graceful by > using admin console. > 8) Use iSQL, connect to sequoia driver and insert another entry. > 9) Start controller 2 again. > > The database I'm using is MySQL 5. > > I greatly appreciate your pointer. Thanks. > > Zoe > > > ------------------------------------------------------------------------ > > _______________________________________________ > Sequoia mailing list > [email protected] > https://forge.continuent.org/mailman/listinfo/sequoia -- Emmanuel Cecchet FTO @ Frog Thinker Open Source Development & Consulting -- Web: http://www.frogthinker.org email: [EMAIL PROTECTED] Skype: emmanuel_cecchet _______________________________________________ Sequoia mailing list [email protected] https://forge.continuent.org/mailman/listinfo/sequoia _______________________________________________ Sequoia mailing list [email protected] https://forge.continuent.org/mailman/listinfo/sequoia -- Robert Hodges, CTO, Continuent, Inc. Email: [EMAIL PROTECTED] Mobile: +1-510-501-3728 Skype: hodgesrm
_______________________________________________ Sequoia mailing list [email protected] https://forge.continuent.org/mailman/listinfo/sequoia
