activemq-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (ARTEMIS-706) InactivityIOException - Perhaps No Keep Alives From Broker?
Date Wed, 31 Aug 2016 13:47:21 GMT

    [ https://issues.apache.org/jira/browse/ARTEMIS-706?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15452283#comment-15452283
] 

ASF GitHub Bot commented on ARTEMIS-706:
----------------------------------------

Github user clebertsuconic commented on a diff in the pull request:

    https://github.com/apache/activemq-artemis/pull/740#discussion_r76989578
  
    --- Diff: artemis-protocols/artemis-openwire-protocol/src/main/java/org/apache/activemq/artemis/core/protocol/openwire/OpenWireConnection.java
---
    @@ -742,6 +756,25 @@ public void addConsumer(ConsumerInfo info) throws Exception {
           }
        }
     
    +   public void setConnectionEntry(ConnectionEntry connectionEntry) {
    +      this.connectionEntry = connectionEntry;
    +   }
    +
    +   public void setUpTtl(final long inactivityDuration, final long inactivityDurationInitialDelay,
final boolean useKeepAlive) {
    +      this.useKeepAlive = useKeepAlive;
    +      this.maxInactivityDuration = inactivityDuration;
    +
    +      protocolManager.getScheduledPool().schedule(new Runnable() {
    --- End diff --
    
    I see three things wrong here:
    
    I - you are recreating the TTL mechanism already existing on AbstractRemotingConnection.
There's already a checker there for received pings from the client.
    
    Most of the issues I had on the heavy refactoring we did on artemis openwire layer was
around duplicated code. Having to figure out what was abstract and what needed to be at the
openwire level.
    
    
    II - It seems you 'are not sending the packet to the client through the Scheduler.
    
    
    III - It seems this is leaking a future. I don't see you ever cancelling the future upon
disconnect. this will leak a connection through the scheduled executor. 
    
    You must hold a Future from the call you made on schedule. And cancel after the openWireConnection
is closed.


> InactivityIOException - Perhaps No Keep Alives From Broker?
> -----------------------------------------------------------
>
>                 Key: ARTEMIS-706
>                 URL: https://issues.apache.org/jira/browse/ARTEMIS-706
>             Project: ActiveMQ Artemis
>          Issue Type: Bug
>          Components: OpenWire
>    Affects Versions: 1.4.0
>            Reporter: Howard Gao
>            Assignee: Howard Gao
>             Fix For: 1.5.0
>
>
> Broker doesn't handle the openwire Inactivity timeouts properly.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message