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

Jørgen Løland commented on DERBY-3356:
--------------------------------------

Good catch Ole - we need to shut down the slave database when this happens. 
That is, whenever the SlaveController gets a fatal exception, it needs to call 
stopSlave

> "Replication slave got a fatal error for database 'test'. Replication will be 
> stopped." on insert on master db.
> ---------------------------------------------------------------------------------------------------------------
>
>                 Key: DERBY-3356
>                 URL: https://issues.apache.org/jira/browse/DERBY-3356
>             Project: Derby
>          Issue Type: Bug
>          Components: Replication
>    Affects Versions: 10.4.0.0
>         Environment: Trunk (615841) + patch DERBY-3205/stopSlave_v1b
>            Reporter: Ole Solberg
>
> 1)
> startSlave and startMaster done.
> 2)
> Insert on master:
>  insert into t values 
> (200,'200'),(201,'201'),(202,'202'),(203,'203'),(204,'204');
> Slave derby.log get:
> --------  BEGIN REPLICATION ERROR MESSAGE ---------
> Replication slave got a fatal error for database 'test'. Replication will be 
> stopped.
> ERROR XRE05: The log received from the master is not in synch with the local 
> log for replicated database 'test'. The received log instant is 
> 4,295,058,963, whereas the local instant is 4,294,986,347. This is FATAL for 
> replication - replication will be stopped.
>       at 
> org.apache.derby.iapi.error.StandardException.newException(StandardException.java:341)
>       at 
> org.apache.derby.impl.services.replication.slave.SlaveController$SlaveLogReceiverThread.handleLogChunk(SlaveController.java:532)
>       at 
> org.apache.derby.impl.services.replication.slave.SlaveController$SlaveLogReceiverThread.run(SlaveController.java:464)
> ---------  END REPLICATION ERROR MESSAGE ----------
> Master derby.log: no change.
> 3)
> stopMaster:
> Master derby.log:
> Replication master role stopped for database 'null'.
> Slave derby.log: no change.
> I.e. slave has not got "stopSlave" from master.
> 4)
> Thus: Slave:
> CONNECT 'jdbc:derby://atum11:9999/test';
> ERROR 08004: DERBY SQL error: SQLCODE: -1, SQLSTATE: 08004, SQLERRMC: 
> Connection refused to database 'test' because it is in replication slave mode.
> Looks like after 2) master-slave communication is lost. But according to 4) 
> slave still thinks it has connection to master?

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