qpid-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Robbie Gemmell (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (QPID-2796) implement support for heartbeats following IO changes to the broker and 0-8/0-9/0-9-1 client
Date Sun, 25 Nov 2012 20:24:58 GMT

    [ https://issues.apache.org/jira/browse/QPID-2796?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13503541#comment-13503541

Robbie Gemmell commented on QPID-2796:

Changes look good so far. A couple of nitpicks and a posible problem:

In the 0-10 Connection class there was a private implementation of TransportActivity added,
but it isnt used. The updated connect() call passes null, which looks unsafe at first when
following the subsequent method calls in IoNetowrkTransport but ultimately ends up being ok
(because we dont set the reader/writer idle times at all on the 0-10 client side and rely
on reflecting the brokers heartbeats if any) but possibly means we are doing socket timesouts
with no effect. Given the IoReceiver ignores the ticker if it is null, could we just not create
one if we arent going to really use it (as happens in the existing but now-unused IoNetworkConnection

In IdleTimeoutTicker it might be nicer if instead of checking !=0 it used >0 as happens

Since IdleTimeoutTicker.tick() is only called when we get a SocketTimeoutException in IoReceiver,
doesnt that mean its possible we can be in a writer-idle situation and yet never signal so
(if the reader keeps getting data within its timeout, which is twice as long as the senders)?
The old 0-8/9/9-1 clients will happily kill the connection in this situation if the broker
doenst send them anything.
> implement support for heartbeats following IO changes to the broker and 0-8/0-9/0-9-1
> --------------------------------------------------------------------------------------------
>                 Key: QPID-2796
>                 URL: https://issues.apache.org/jira/browse/QPID-2796
>             Project: Qpid
>          Issue Type: Bug
>          Components: Java Broker, Java Client
>    Affects Versions: 0.15
>            Reporter: Robbie Gemmell
>            Assignee: Rob Godfrey
>             Fix For: 0.21
> The Java broker and client are not able to generate AMQP heartbeats following the updates
to their IO layer. The 0-8/0-9/0-9-1 codepaths previously relied on the Mina IO layer to support
this, and as such can no longer do so. The 0-10 path of the Java broker leverages much of
the 0-10 implementation in common originally developed for the 0-10 Java client, which simply
reflects heartbeats it receives from a broker and as such no heartbeats will ever be sent
by broker or the client despite its support.

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

To unsubscribe, e-mail: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org

View raw message