qpid-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Marnie McCormack (JIRA)" <j...@apache.org>
Subject [jira] Resolved: (QPID-2872) Java broker incorrectly indicates it supports sending 0-10 heartbeats when it currently does not
Date Thu, 02 Dec 2010 11:50:12 GMT

     [ https://issues.apache.org/jira/browse/QPID-2872?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel

Marnie McCormack resolved QPID-2872.

    Resolution: Fixed

Accepted change, also need tests for heartbeating as a separate task (once we have hbeating
on trunk).

> Java broker incorrectly indicates it supports sending 0-10 heartbeats when it currently
does not
> ------------------------------------------------------------------------------------------------
>                 Key: QPID-2872
>                 URL: https://issues.apache.org/jira/browse/QPID-2872
>             Project: Qpid
>          Issue Type: Bug
>          Components: Java Broker
>    Affects Versions: 0.6
>            Reporter: Robbie Gemmell
>            Assignee: Robbie Gemmell
>            Priority: Critical
>             Fix For: 0.7
> A blocking recieve() with the java 0-10 client connected to the Java broker was observed
to fail because the client connection timed out:
> org.apache.qpid.transport.ConnectionException: Read timed out
> 	at org.apache.qpid.transport.Connection.exception(Connection.java:474)
> 	at org.apache.qpid.transport.network.Assembler.exception(Assembler.java:108)
> 	at org.apache.qpid.transport.network.InputHandler.exception(InputHandler.java:197)
> 	at org.apache.qpid.transport.network.io.IoReceiver.run(IoReceiver.java:145)
> 	at java.lang.Thread.run(Thread.java:619)
> Caused by: java.net.SocketTimeoutException: Read timed out
> 	at java.net.SocketInputStream.socketRead0(Native Method)
> 	at java.net.SocketInputStream.read(SocketInputStream.java:129)
> 	at org.apache.qpid.transport.network.io.IoReceiver.run(IoReceiver.java:123)
> 	... 1 more
> Examining the client logs reveals this to be because the client had heartbeating enabled
despite the fact the Java broker is currently unable to generate 0-10 heartbeats (as its implementation
is largely based on the client, and the client can only seems able to reflect heartbeats it
recieves, not generate them at will, meaning neither client or server can initiate the heartbeating
currently. See QPID-2796). As a result, the client timed the socket out after the defaulted
120sec heartbeat delay. The client default was allowed to be used because the broker innaccurately
indicated it could support  >0sec heartbeats by sending the wrong heartbeatMax value:
> IoReceiver - localhost/ 2010-09-19 16:21:52,980 DEBUG [apache.qpid.transport.Connection]
RECV: [conn:e32802] ch=0 ConnectionTune(channelMax=65535, maxFrameSize=65535, hear
> tbeatMin=0, heartbeatMax=65535)
> IoReceiver - localhost/ 2010-09-19 16:21:52,980 DEBUG [apache.qpid.transport.Connection]
SEND: [conn:e32802] ch=0 ConnectionTuneOk(channelMax=65535, maxFrameSize=65535, he
> artbeat=120)
> Until QPID-2796 is fixed, the broker should not indicate it supports heartbeating.

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:dev-subscribe@qpid.apache.org

View raw message