You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@activemq.apache.org by "Robbie Gemmell (JIRA)" <ji...@apache.org> on 2015/10/30 17:39:27 UTC

[jira] [Work started] (AMQ-6031) AMQP: use System.nanoTime() when deriving time to tick the transport with for idle-timeout handling

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

Work on AMQ-6031 started by Robbie Gemmell.
-------------------------------------------
> AMQP: use System.nanoTime() when deriving time to tick the transport with for idle-timeout handling
> ---------------------------------------------------------------------------------------------------
>
>                 Key: AMQ-6031
>                 URL: https://issues.apache.org/jira/browse/AMQ-6031
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: AMQP
>    Affects Versions: 5.12.1
>            Reporter: Robbie Gemmell
>            Assignee: Robbie Gemmell
>             Fix For: 5.13.0
>
>
> The sending of empty AMQP heartbeating frames to satisfy the remote peers advertised idle-timeout, and closure of the connection if no frames are received from a peer to satisfy our local idle-timeout, are handled by protons Transport#tick() method. This method takes the current time as an argument and determines what (if any) actions should be undertaken now, then returns the next point at which further processing is required. In order to faciliate this the last 'current time' the method was called with is saved between calls. 
> As with QPIDJMS-136, we should update our usage of the proton Transport#tick() method to use a monotonic time, derived from System.nanoTime(), rather than a wall time from System.currentTimeMillis(), so that clock changes between these points dont lead to incorrect behaviour (e.g not sending a required frame, or thinking a frame hasnt been received that should have been).



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)