[ 
https://issues.apache.org/jira/browse/DERBY-3463?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12572436#action_12572436
 ] 

Ole Solberg commented on DERBY-3463:
------------------------------------

By adding a 10s sleep between failover and the connect attempt to the slave db 
it seems we get a connection. (5s was too short.)

Is this according to the spec.?



> Slave db is still in replication slave mode after failover if there was 
> replication load before failover.
> ---------------------------------------------------------------------------------------------------------
>
>                 Key: DERBY-3463
>                 URL: https://issues.apache.org/jira/browse/DERBY-3463
>             Project: Derby
>          Issue Type: Bug
>          Components: Replication
>         Environment: Trunk, svn r630806
>            Reporter: Ole Solberg
>            Assignee: Jørgen Løland
>             Fix For: 10.4.0.0
>
>         Attachments: min_index.tar, NOreplicationLoad.tar, replicationLoad.tar
>
>
> Slave db is still in replication slave mode after failover if there was 
> replication load before failover.
> I.e. connect to slave after failover is refused. Case A) below.
> (Connect to master after failover is OK.)
> If however there is no replication load on master db before failover 
> connection to slave succeeds,
> but connection to master fails(hang).
> Trunk svn r630806
> A) Replication load.
> -------------------
> Master and slave servers started.
> Master: create master db.
> Master: freeze db
> Copy master db to slave.
> Master: unfreeze db.
> Slave:
> jdbc:derby://localhost:4527//home/os136789/Replication/testing/db_slave/wombat;startSlave=true;slaveHost=localhost;slavePort=6666
> Master:
> jdbc:derby://localhost:1527//home/os136789/Replication/testing/db_master/wombat;startMaster=true;slaveHost=localhost;slavePort=6666
> Slave:
> SQLException: -1 XRE08 DERBY SQL error: SQLCODE: -1, SQLSTATE: XRE08, 
> SQLERRMC: Replication slave mode started successfully for database 
> '/home/os136789/Replication/testing/db_slave/wombat'. Connection refused 
> because the database is in replication slave mode.
> Running tests against master.
> Master:
> jdbc:derby://localhost:1527//home/os136789/Replication/testing/db_master/wombat;failover=true
> SQLException: -1 XRE20 DERBY SQL error: SQLCODE: -1, SQLSTATE: XRE20, 
> SQLERRMC: Failover performed successfully for database 
> '/home/os136789/Replication/testing/db_master/wombat', the database has been 
> shutdown.
> Slave:
> /usr/local/java/jdk1.6/jre/lib/../bin/java 
> -Dij.driver=org.apache.derby.jdbc.ClientDriver 
> -Dij.connection.slave=jdbc:derby://localhost:4527//home/os136789/Replication/testing/db_slave/wombat
>  -classpath 
> /home/os136789/Apache/myDerbySandbox/trunk/jars/insane/derbyclient.jar:/home/os136789/Apache/myDerbySandbox/trunk/jars/insane/derbytools.jar
>  org.apache.derby.tools.ij 
> /home/os136789/Replication/testing/verify_ReplicationTestRun.sql
> ERROR 08004: DERBY SQL error: SQLCODE: -1, SQLSTATE: 08004, SQLERRMC: 
> Connection refused to database 
> '/home/os136789/Replication/testing/db_slave/wombat' because it is in 
> replication slave mode.
> Master:
> /usr/local/java/jdk1.6/jre/lib/../bin/java 
> -Dij.driver=org.apache.derby.jdbc.ClientDriver 
> -Dij.connection.master=jdbc:derby://localhost:1527//home/os136789/Replication/testing/db_master/wombat
>  -classpath 
> /home/os136789/Apache/myDerbySandbox/trunk/jars/insane/derbyclient.jar:/home/os136789/Apache/myDerbySandbox/trunk/jars/insane/derbytools.jar
>  org.apache.derby.tools.ij 
> /home/os136789/Replication/testing/verify_ReplicationTestRun.sql
> (Connection OK)
> Test run logfile.out plus derby.log from master and slave:
> Attachement: replicationLoad.tar 
> From slave derby.log:
> ERROR XSLA7: Cannot redo operation null in the log.
>       at 
> org.apache.derby.iapi.error.StandardException.newException(StandardException.java:300)
>       at 
> org.apache.derby.impl.store.raw.log.FileLogger.redo(FileLogger.java:1525)
>       at 
> org.apache.derby.impl.store.raw.log.LogToFile.recover(LogToFile.java:920)
>       at org.apache.derby.impl.store.raw.RawStore.boot(RawStore.java:334)
>       at 
> org.apache.derby.impl.services.monitor.BaseMonitor.boot(BaseMonitor.java:1999)
>       at 
> org.apache.derby.impl.services.monitor.TopService.bootModule(TopService.java:291)
>       at 
> org.apache.derby.impl.services.monitor.BaseMonitor.startModule(BaseMonitor.java:553)
>       at 
> org.apache.derby.iapi.services.monitor.Monitor.bootServiceModule(Monitor.java:419)
>       at 
> org.apache.derby.impl.store.access.RAMAccessManager.boot(RAMAccessManager.java:1019)
>       at 
> org.apache.derby.impl.services.monitor.BaseMonitor.boot(BaseMonitor.java:1999)
>       at 
> org.apache.derby.impl.services.monitor.TopService.bootModule(TopService.java:291)
>       at 
> org.apache.derby.impl.services.monitor.BaseMonitor.startModule(BaseMonitor.java:553)
>       at 
> org.apache.derby.iapi.services.monitor.Monitor.bootServiceModule(Monitor.java:419)
>       at 
> org.apache.derby.impl.db.BasicDatabase.bootStore(BasicDatabase.java:793)
>       at org.apache.derby.impl.db.BasicDatabase.boot(BasicDatabase.java:205)
>       at 
> org.apache.derby.impl.db.SlaveDatabase.bootBasicDatabase(SlaveDatabase.java:425)
>       at 
> org.apache.derby.impl.db.SlaveDatabase.access$000(SlaveDatabase.java:70)
>       at 
> org.apache.derby.impl.db.SlaveDatabase$SlaveDatabaseBootThread.run(SlaveDatabase.java:312)
>       at java.lang.Thread.run(Thread.java:619)
> Caused by: ERROR XSDFI: Error encountered while trying to write data to disk 
> during database recovery.  Check that the database disk is not full. If it is 
> then delete unnecessary files, and retry connecting to the database.  It is 
> also possible that the file system is read only, or the disk has failed, or 
> some other problem with the media.  System encountered error while processing 
> page Page(2,Container(0, 336)).
> B) No replication load.
> -------------------
> Master and slave servers started.
> Master: create master db.
> Master: freeze db
> Copy master db to slave.
> Master: unfreeze db.
> Slave:
> jdbc:derby://localhost:4527//home/os136789/Replication/testing/db_slave/wombat;startSlave=true;slaveHost=localhost;slavePort=6666
> Master:
> jdbc:derby://localhost:1527//home/os136789/Replication/testing/db_master/wombat;startMaster=true;slaveHost=localhost;slavePort=6666
> Slave:
> SQLException: -1 XRE08 DERBY SQL error: SQLCODE: -1, SQLSTATE: XRE08, 
> SQLERRMC: Replication slave mode started successfully for database 
> '/home/os136789/Replication/testing/db_slave/wombat'. Connection refused 
> because the database is in replication slave mode.
> NOT Running tests against master.
> Master: 
> jdbc:derby://localhost:1527//home/os136789/Replication/testing/db_master/wombat;failover=true
> failOver_direct Got SQLException: -1 XRE20 DERBY SQL error: SQLCODE: -1, 
> SQLSTATE: XRE20, SQLERRMC: Failover performed successfully for database 
> '/home/os136789/Replication/testing/db_master/wombat', the database has been 
> shutdown.
> Slave:
> /usr/local/java/jdk1.6/jre/lib/../bin/java 
> -Dij.driver=org.apache.derby.jdbc.ClientDriver 
> -Dij.connection.slave=jdbc:derby://localhost:4527//home/os136789/Replication/testing/db_slave/wombat
>  -classpath 
> /home/os136789/Apache/myDerbySandbox/trunk/jars/insane/derbyclient.jar:/home/os136789/Apache/myDerbySandbox/trunk/jars/insane/derbytools.jar
>  org.apache.derby.tools.ij 
> /home/os136789/Replication/testing/verify_ReplicationTestRun.sql
> (Connection OK)
> Master:
> /usr/local/java/jdk1.6/jre/lib/../bin/java 
> -Dij.driver=org.apache.derby.jdbc.ClientDriver 
> -Dij.connection.master=jdbc:derby://localhost:1527//home/os136789/Replication/testing/db_master/wombat
>  -classpath 
> /home/os136789/Apache/myDerbySandbox/trunk/jars/insane/derbyclient.jar:/home/os136789/Apache/myDerbySandbox/trunk/jars/insane/derbytools.jar
>  org.apache.derby.tools.ij 
> /home/os136789/Replication/testing/verify_ReplicationTestRun.sql
> Failure: Hangs! (On 'show schemas;') 
> Test run logfile.out plus derby.log from master and slave:
> Attachement: NOreplicationLoad.tar 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to