Return-Path: X-Original-To: apmail-activemq-dev-archive@www.apache.org Delivered-To: apmail-activemq-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 9DF0BD0F8 for ; Tue, 23 Oct 2012 15:33:14 +0000 (UTC) Received: (qmail 78243 invoked by uid 500); 23 Oct 2012 15:33:14 -0000 Delivered-To: apmail-activemq-dev-archive@activemq.apache.org Received: (qmail 77939 invoked by uid 500); 23 Oct 2012 15:33:14 -0000 Mailing-List: contact dev-help@activemq.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@activemq.apache.org Delivered-To: mailing list dev@activemq.apache.org Received: (qmail 77863 invoked by uid 99); 23 Oct 2012 15:33:13 -0000 Received: from arcas.apache.org (HELO arcas.apache.org) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 23 Oct 2012 15:33:13 +0000 Date: Tue, 23 Oct 2012 15:33:13 +0000 (UTC) From: "Timothy Bish (JIRA)" To: dev@activemq.apache.org Message-ID: <95243966.16320.1351006393629.JavaMail.jiratomcat@arcas> In-Reply-To: <1381707921.43009.1350224583221.JavaMail.jiratomcat@arcas> Subject: [jira] [Commented] (AMQ-4106) STOMP+NIO and Heartbeats gives consistent InactivityIOException MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ https://issues.apache.org/jira/browse/AMQ-4106?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13482411#comment-13482411 ] Timothy Bish commented on AMQ-4106: ----------------------------------- There's a couple issues in the NIO layer mainly relating to not keeping the TcpTransports receiverCounter moving which causes the InactivityMonitor to think that no reads are occurring when we are only getting STOMP keep alives which are just newlines. The StompCodec also has a bug that's causing it to get stuck because of this. > STOMP+NIO and Heartbeats gives consistent InactivityIOException > --------------------------------------------------------------- > > Key: AMQ-4106 > URL: https://issues.apache.org/jira/browse/AMQ-4106 > Project: ActiveMQ > Issue Type: Bug > Components: stomp > Affects Versions: 5.7.0 > Environment: Kernel:Linux tjjackson 3.0.0-26-generic #43-Ubuntu SMP Tue Sep 25 17:19:22 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux > AMQ: 5.7.0 > Ubuntu: 11.10 > Java: 1.6.0_24 > From activemq.xml: > uri="stomp+nio://0.0.0.0:61613?trace=true"/> > Reporter: Guy Allard > Assignee: Timothy Bish > Fix For: 5.8.0 > > Attachments: nioheartb.rb > > > When a stomp 1.1 client: > a) connects to a stomp+nio transport > b) elects to send heartbeats when the network is idle > the first several heartbeat sends appear to succeed, but then the connection is forcibly closed by the broker. > From activemq.log: > 2012-10-14 09:53:07,755 | WARN | Transport Connection to: tcp://127.0.0.1:36440 failed: org.apache.activemq.transport.InactivityIOException: Channel was inactive for too (>10000) long: tcp://127.0.0.1:36440 | org.apache.activemq.broker.TransportConnection.Transport | ActiveMQ InactivityMonitor Worker > From wrapper.log: > INFO | jvm 1 | 2012/10/14 09:53:07 | WARN | Transport Connection to: tcp://127.0.0.1:36440 failed: org.apache.activemq.transport.InactivityIOException: Channel was inactive for too (>10000) long: tcp://127.0.0.1:36440 > I am able to reproduce this with either: > a) the current Ruby stomp gem > b) the current golang stompngo package > It is unclear to me whether: > a) the AMQ heartbeat code is not tolerant as the specification suggests > b) the AMQ heartbeat receiver is not reading or recognizing heartbeats at all > In all cases these tests succeed with either: > a) AMQ 5.7.0 stomp without nio > b) Apollo > c) RabbitMQ > d) a client that only receives heartbeats, but does not send them > I will attach a Ruby client example shortly. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira