You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by "Timothy Bish (JIRA)" <ji...@apache.org> on 2009/11/23 14:41:52 UTC

[jira] Created: (AMQNET-212) Add an Inactivity Monitor to the Transports layer to timeout broken connections

Add an Inactivity Monitor to the Transports layer to timeout broken connections
-------------------------------------------------------------------------------

                 Key: AMQNET-212
                 URL: https://issues.apache.org/activemq/browse/AMQNET-212
             Project: ActiveMQ .Net
          Issue Type: Improvement
          Components: ActiveMQ
    Affects Versions: 1.3.0
            Reporter: Timothy Bish
            Assignee: Timothy Bish


In order to more quickly detect broken connections between client and broker the NMS.AcitveMQ client needs to add an InactivityMonitor transport filter that deals with the keep alive messages that allow for detection of broken sockets.  Right now a broken connection such as one that occurs when a cable is pulled isn't detected and the client can sit idle instead of failing over if there's no outbound messages to trigger a failed write.



-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (AMQNET-212) Add an Inactivity Monitor to the Transports layer to timeout broken connections

Posted by "Timothy Bish (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/activemq/browse/AMQNET-212?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=56643#action_56643 ] 

Timothy Bish commented on AMQNET-212:
-------------------------------------

Committed several fixes to the InactivityMonitor code and it seems to work pretty well now.  The monitor is disabled by default for now, to enable add option transport.UseInactivityMonitor=true to your connection URI.


> Add an Inactivity Monitor to the Transports layer to timeout broken connections
> -------------------------------------------------------------------------------
>
>                 Key: AMQNET-212
>                 URL: https://issues.apache.org/activemq/browse/AMQNET-212
>             Project: ActiveMQ .Net
>          Issue Type: Improvement
>          Components: ActiveMQ
>    Affects Versions: 1.2.0
>            Reporter: Timothy Bish
>            Assignee: Timothy Bish
>             Fix For: 1.2.0
>
>         Attachments: InactivityMonitor.diff
>
>
> In order to more quickly detect broken connections between client and broker the NMS.AcitveMQ client needs to add an InactivityMonitor transport filter that deals with the keep alive messages that allow for detection of broken sockets.  Right now a broken connection such as one that occurs when a cable is pulled isn't detected and the client can sit idle instead of failing over if there's no outbound messages to trigger a failed write.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Resolved: (AMQNET-212) Add an Inactivity Monitor to the Transports layer to timeout broken connections

Posted by "Timothy Bish (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/activemq/browse/AMQNET-212?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Timothy Bish resolved AMQNET-212.
---------------------------------

    Resolution: Fixed

Testing of the Monitor completed, the InactivityMonitor is now enabled by default on the TcpTransport.

> Add an Inactivity Monitor to the Transports layer to timeout broken connections
> -------------------------------------------------------------------------------
>
>                 Key: AMQNET-212
>                 URL: https://issues.apache.org/activemq/browse/AMQNET-212
>             Project: ActiveMQ .Net
>          Issue Type: Improvement
>          Components: ActiveMQ
>    Affects Versions: 1.2.0
>            Reporter: Timothy Bish
>            Assignee: Timothy Bish
>             Fix For: 1.2.0
>
>         Attachments: InactivityMonitor.diff
>
>
> In order to more quickly detect broken connections between client and broker the NMS.AcitveMQ client needs to add an InactivityMonitor transport filter that deals with the keep alive messages that allow for detection of broken sockets.  Right now a broken connection such as one that occurs when a cable is pulled isn't detected and the client can sit idle instead of failing over if there's no outbound messages to trigger a failed write.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (AMQNET-212) Add an Inactivity Monitor to the Transports layer to timeout broken connections

Posted by "Timothy Bish (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/activemq/browse/AMQNET-212?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=56586#action_56586 ] 

Timothy Bish commented on AMQNET-212:
-------------------------------------

Added some unit tests and a fix for the Read check code not reseting the command received flag. 

> Add an Inactivity Monitor to the Transports layer to timeout broken connections
> -------------------------------------------------------------------------------
>
>                 Key: AMQNET-212
>                 URL: https://issues.apache.org/activemq/browse/AMQNET-212
>             Project: ActiveMQ .Net
>          Issue Type: Improvement
>          Components: ActiveMQ
>    Affects Versions: 1.2.0
>            Reporter: Timothy Bish
>            Assignee: Timothy Bish
>             Fix For: 1.2.0
>
>         Attachments: InactivityMonitor.diff
>
>
> In order to more quickly detect broken connections between client and broker the NMS.AcitveMQ client needs to add an InactivityMonitor transport filter that deals with the keep alive messages that allow for detection of broken sockets.  Right now a broken connection such as one that occurs when a cable is pulled isn't detected and the client can sit idle instead of failing over if there's no outbound messages to trigger a failed write.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (AMQNET-212) Add an Inactivity Monitor to the Transports layer to timeout broken connections

Posted by "Timothy Bish (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/activemq/browse/AMQNET-212?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Timothy Bish updated AMQNET-212:
--------------------------------

    Fix Version/s:     (was: 1.3.0)
                   1.2.0

An NMS user has sent me a nearly complete version of the InactivityMonitor, so once he attaches the finished version to the issues and grants us the license for it I will add it to trunk and the 1.2.x branch.

> Add an Inactivity Monitor to the Transports layer to timeout broken connections
> -------------------------------------------------------------------------------
>
>                 Key: AMQNET-212
>                 URL: https://issues.apache.org/activemq/browse/AMQNET-212
>             Project: ActiveMQ .Net
>          Issue Type: Improvement
>          Components: ActiveMQ
>    Affects Versions: 1.2.0
>            Reporter: Timothy Bish
>            Assignee: Timothy Bish
>             Fix For: 1.2.0
>
>
> In order to more quickly detect broken connections between client and broker the NMS.AcitveMQ client needs to add an InactivityMonitor transport filter that deals with the keep alive messages that allow for detection of broken sockets.  Right now a broken connection such as one that occurs when a cable is pulled isn't detected and the client can sit idle instead of failing over if there's no outbound messages to trigger a failed write.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (AMQNET-212) Add an Inactivity Monitor to the Transports layer to timeout broken connections

Posted by "Timothy Bish (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/activemq/browse/AMQNET-212?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Timothy Bish updated AMQNET-212:
--------------------------------

    Affects Version/s:     (was: 1.3.0)
                       1.2.0
        Fix Version/s: 1.3.0

> Add an Inactivity Monitor to the Transports layer to timeout broken connections
> -------------------------------------------------------------------------------
>
>                 Key: AMQNET-212
>                 URL: https://issues.apache.org/activemq/browse/AMQNET-212
>             Project: ActiveMQ .Net
>          Issue Type: Improvement
>          Components: ActiveMQ
>    Affects Versions: 1.2.0
>            Reporter: Timothy Bish
>            Assignee: Timothy Bish
>             Fix For: 1.3.0
>
>
> In order to more quickly detect broken connections between client and broker the NMS.AcitveMQ client needs to add an InactivityMonitor transport filter that deals with the keep alive messages that allow for detection of broken sockets.  Right now a broken connection such as one that occurs when a cable is pulled isn't detected and the client can sit idle instead of failing over if there's no outbound messages to trigger a failed write.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (AMQNET-212) Add an Inactivity Monitor to the Transports layer to timeout broken connections

Posted by "Timothy Bish (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/activemq/browse/AMQNET-212?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=56572#action_56572 ] 

Timothy Bish commented on AMQNET-212:
-------------------------------------

Added user patch to Trunk.  Fixed a couple warnings when compiled.

> Add an Inactivity Monitor to the Transports layer to timeout broken connections
> -------------------------------------------------------------------------------
>
>                 Key: AMQNET-212
>                 URL: https://issues.apache.org/activemq/browse/AMQNET-212
>             Project: ActiveMQ .Net
>          Issue Type: Improvement
>          Components: ActiveMQ
>    Affects Versions: 1.2.0
>            Reporter: Timothy Bish
>            Assignee: Timothy Bish
>             Fix For: 1.2.0
>
>         Attachments: InactivityMonitor.diff
>
>
> In order to more quickly detect broken connections between client and broker the NMS.AcitveMQ client needs to add an InactivityMonitor transport filter that deals with the keep alive messages that allow for detection of broken sockets.  Right now a broken connection such as one that occurs when a cable is pulled isn't detected and the client can sit idle instead of failing over if there's no outbound messages to trigger a failed write.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (AMQNET-212) Add an Inactivity Monitor to the Transports layer to timeout broken connections

Posted by "Sebastien Rodriguez (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/activemq/browse/AMQNET-212?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Sebastien Rodriguez updated AMQNET-212:
---------------------------------------

    Attachment: InactivityMonitor.diff

Initial implementation of the Inactivity monitor, based on the logic introduced in the java an cpp version.
We still need to create the related unit tests. Tested with network of brokers in failover mode over network, unplugging the computer with the broker im connected to works.
This should solve the issue https://issues.apache.org/activemq/browse/AMQNET-211

> Add an Inactivity Monitor to the Transports layer to timeout broken connections
> -------------------------------------------------------------------------------
>
>                 Key: AMQNET-212
>                 URL: https://issues.apache.org/activemq/browse/AMQNET-212
>             Project: ActiveMQ .Net
>          Issue Type: Improvement
>          Components: ActiveMQ
>    Affects Versions: 1.2.0
>            Reporter: Timothy Bish
>            Assignee: Timothy Bish
>             Fix For: 1.2.0
>
>         Attachments: InactivityMonitor.diff
>
>
> In order to more quickly detect broken connections between client and broker the NMS.AcitveMQ client needs to add an InactivityMonitor transport filter that deals with the keep alive messages that allow for detection of broken sockets.  Right now a broken connection such as one that occurs when a cable is pulled isn't detected and the client can sit idle instead of failing over if there's no outbound messages to trigger a failed write.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.