You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@activemq.apache.org by "ASF GitHub Bot (JIRA)" <ji...@apache.org> on 2016/04/29 17:49:13 UTC

[jira] [Commented] (ARTEMIS-397) MQTT protocol - connection TTL = keepAliveTimeSeconds * 750

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

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

GitHub user incarosegit opened a pull request:

    https://github.com/apache/activemq-artemis/pull/497

    Change keep alive ratio to 1.5 from 0.75

    Fixes: ARTEMIS-397
    
    From mqtt specs:
    
    “If the Keep Alive value is non-zero and the Server does not receive a
    Control Packet from the Client within one and a half times the Keep
    Alive time period, it MUST disconnect the Network Connection to the
    Client as if the network had failed [MQTT-3.1.2-24]. “

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/incarosegit/activemq-artemis master

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/activemq-artemis/pull/497.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #497
    
----
commit 6bdad3db2a8e19069f7d1d5b44c97ceb0fc05b92
Author: Diego Bes <db...@tangome-macbook-pro.local>
Date:   2016-04-29T15:43:25Z

    Change keep alive ratio to 1.5 from 0.75
    
    Fixes: ARTEMIS-397
    
    From mqtt specs:
    
    “If the Keep Alive value is non-zero and the Server does not receive a
    Control Packet from the Client within one and a half times the Keep
    Alive time period, it MUST disconnect the Network Connection to the
    Client as if the network had failed [MQTT-3.1.2-24]. “

----


> MQTT protocol - connection TTL = keepAliveTimeSeconds * 750
> -----------------------------------------------------------
>
>                 Key: ARTEMIS-397
>                 URL: https://issues.apache.org/jira/browse/ARTEMIS-397
>             Project: ActiveMQ Artemis
>          Issue Type: Bug
>          Components: Broker
>    Affects Versions: 1.0.0, 1.1.0, 1.2.0
>            Reporter: hiawui
>
> For MQTT protocol, the connection TTL is equal to keepAliveTimeSeconds * 750, causes connections always disconnected by timeout. Is it a bug? or why?
> {code:title=MQTTProtocolHandler.java:159|borderStyle=solid}
>    void handleConnect(MqttConnectMessage connect, ChannelHandlerContext ctx) throws Exception {
>       this.ctx = ctx;
>       connectionEntry.ttl = connect.variableHeader().keepAliveTimeSeconds() * 750; // this line!!!, why not multiply by larger than 1000?
>       String clientId = connect.payload().clientIdentifier();
>       session.getConnectionManager().connect(clientId, connect.payload().userName(), connect.payload().password(), connect.variableHeader().isWillFlag(), connect.payload().willMessage(), connect.payload().willTopic(), connect.variableHeader().isWillRetain(), connect.variableHeader().willQos(), connect.variableHeader().isCleanSession());
>    }
> {code}



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