[ 
https://issues.apache.org/jira/browse/ARTEMIS-2213?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16728904#comment-16728904
 ] 

ASF GitHub Bot commented on ARTEMIS-2213:
-----------------------------------------

Github user wy96f commented on the issue:

    https://github.com/apache/activemq-artemis/pull/2481
  
    We add a pending counter to count enterCritical calls. If left time is less 
than enter time and pending counter equals to 0, we don't expire component as 
all threads have called leaveCritical and it maybe caused by clock drift.
    When a clock jumps backwards,  to avoid the edge case that  enterCritical 
is called during isExpired, we need to compare current time to latest timeEnter.
    



> Clock drift causing server halt
> -------------------------------
>
>                 Key: ARTEMIS-2213
>                 URL: https://issues.apache.org/jira/browse/ARTEMIS-2213
>             Project: ActiveMQ Artemis
>          Issue Type: Bug
>          Components: Broker
>    Affects Versions: 2.6.3
>            Reporter: yangwei
>            Priority: Critical
>
> In our production cluster some brokers crashed. There is nothing unusual in 
> the dump stack. After digging into code, we found component was incorrectly 
> expired. When clock drifted back, left time was less than enter time. If the 
> component was not entered in default 120000ms, it would be expired and server 
> was halted.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to