[
https://issues.apache.org/jira/browse/DERBY-3508?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Øystein Grøvlen updated DERBY-3508:
-----------------------------------
Derby Info: (was: [Patch Available])
Fix Version/s: 10.5.0.0
Thanks for the patch Jørgen.
I have tested that I no longer get the NPE stack trace at failover.
Committed as revision 636833.
> Log receiver thread fails with NPE at failover when master has died
> -------------------------------------------------------------------
>
> Key: DERBY-3508
> URL: https://issues.apache.org/jira/browse/DERBY-3508
> Project: Derby
> Issue Type: Bug
> Components: Replication
> Affects Versions: 10.4.0.0
> Reporter: Øystein Grøvlen
> Assignee: Jørgen Løland
> Priority: Minor
> Fix For: 10.5.0.0
>
> Attachments: derby-3508-1a.diff, derby-3508-1a.stat
>
>
> Both master and slave embedded in ij.
> I kill master and perform failover on slave.
> The following is printed in ij:
> ij> connect 'jdbc:derby:slaveDB;user=oystein;password=pass;failover=true';
> Exception in thread "derby.slave.logger-slaveDB"
> java.lang.NullPointerException
> at
> org.apache.derby.impl.services.replication.slave.SlaveController.setupConnection(SlaveController.java:348)
> at
> org.apache.derby.impl.services.replication.slave.SlaveController.handleDisconnect(SlaveController.java:375)
> at
> org.apache.derby.impl.services.replication.slave.SlaveController.access$600(SlaveController.java:62)
> at
> org.apache.derby.impl.services.replication.slave.SlaveController$SlaveLogReceiverThread.run(SlaveController.java:504)
> Note that failover works, and all seems well, so this is not a major issue.
> derby.log is as follows:
> -------- BEGIN REPLICATION ERROR MESSAGE ---------
> Lost connection with the replication master of database 'slaveDB'.
> java.io.EOFException
> at
> java.io.ObjectInputStream$BlockDataInputStream.peekByte(ObjectInputStream.java:2552)
> at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1297)
> at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
> at
> org.apache.derby.impl.services.replication.net.SocketConnection.readMessage(SocketConnection.java:84)
> at
> org.apache.derby.impl.services.replication.net.ReplicationMessageReceive.readMessage(ReplicationMessageReceive.java:387)
> at
> org.apache.derby.impl.services.replication.slave.SlaveController$SlaveLogReceiverThread.run(SlaveController.java:477)
> --------- END REPLICATION ERROR MESSAGE ----------
> Failover perfomed successfully for database 'slaveDB'.
> Database Class Loader started - derby.database.classpath=''
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.