[ 
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 constructor)?

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

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 client
> --------------------------------------------------------------------------------------------
>
>                 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: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to