[ 
https://issues.apache.org/jira/browse/DERBY-3527?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jørgen Løland updated DERBY-3527:
---------------------------------

    Attachment: derby-3527-1b.diff
                derby-3527-1b.stat

Attaching patch 1b, addressing Øysteins comments.

The most important modifications are:
* Ping/pong messages are only of interest to the replication network layer. 
They are therefore filtered out and handled internally in 
ReplicationMessageReceive.
* All message receiving is now done through the new thread. I also made 
readMessage a method of the inner class (i.e. the receiver thread) to reflect 
that only the thread should listen on the nw. With patch 1b, the only way to 
get a response message from the slave is through the sendMessageWaitForReply 
method.

All tests (including replication suite) passed.

> The slave will not notice that a network cable is unplugged and will 
> therefore reject failover/stopSlave commands
> -----------------------------------------------------------------------------------------------------------------
>
>                 Key: DERBY-3527
>                 URL: https://issues.apache.org/jira/browse/DERBY-3527
>             Project: Derby
>          Issue Type: Bug
>          Components: Replication
>    Affects Versions: 10.4.0.0, 10.5.0.0
>            Reporter: Jørgen Løland
>            Assignee: Jørgen Løland
>         Attachments: derby-3527-1a.diff, derby-3527-1a.stat, 
> derby-3527-1b.diff, derby-3527-1b.stat
>
>
> If a network cable between the master and slave is unplugged (or a switch 
> crashes etc), ObjectInputStream#readObject will not get an exception. Neither 
> the socket nor the input stream can be queried for information on whether or 
> not the connection is working. AFAIK, the only way to find out if the network 
> is down is to send a message.
> The slave commands stopSlave and failover are rejected if the network 
> connection is working. To be absolutely sure that the connection is working, 
> we need to ping the master when these commands are requested.

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