[
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.