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

Robbie Gemmell updated AMQ-6031:
--------------------------------
    Affects Version/s: 5.12.0
        Fix Version/s: 5.12.2

> 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.0, 5.12.1
>            Reporter: Robbie Gemmell
>            Assignee: Robbie Gemmell
>             Fix For: 5.13.0, 5.12.2
>
>
> 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)

Reply via email to