db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jørgen Løland (JIRA) <j...@apache.org>
Subject [jira] Commented: (DERBY-3356) "Replication slave got a fatal error for database 'test'. Replication will be stopped." on insert on master db.
Date Tue, 29 Jan 2008 08:54:34 GMT

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


Mime
View raw message