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)