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

ASF subversion and git services commented on ARTEMIS-397:
---------------------------------------------------------

Commit 75a4e78948ba30e154bd0dafa86947052942ff47 in activemq-artemis's branch 
refs/heads/master from [~incarose]
[ https://git-wip-us.apache.org/repos/asf?p=activemq-artemis.git;h=75a4e78 ]

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)

Reply via email to