You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-dev@db.apache.org by "Jørgen Løland (JIRA)" <ji...@apache.org> on 2008/03/27 08:41:32 UTC

[jira] Issue Comment Edited: (DERBY-3527) The slave will not notice that a network cable is unplugged and will therefore reject failover/stopSlave commands

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

jorgenlo edited comment on DERBY-3527 at 3/27/08 12:40 AM:
----------------------------------------------------------------

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 on the master. 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.

      was (Author: jorgenlo):
    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.