Github user franz1981 commented on a diff in the pull request:

    https://github.com/apache/activemq-artemis/pull/1517#discussion_r137468488
  
    --- Diff: 
artemis-commons/src/main/java/org/apache/activemq/artemis/utils/critical/CriticalMeasure.java
 ---
    @@ -17,28 +17,33 @@
     
     package org.apache.activemq.artemis.utils.critical;
     
    -import org.jboss.logging.Logger;
    +import java.util.concurrent.atomic.AtomicLongFieldUpdater;
     
     public class CriticalMeasure {
     
    -   private static final Logger logger = 
Logger.getLogger(CriticalMeasure.class);
    +   //uses updaters to avoid creates many AtomicLong instances
    +   private static final AtomicLongFieldUpdater<CriticalMeasure> 
TIME_ENTER_UPDATER = AtomicLongFieldUpdater.newUpdater(CriticalMeasure.class, 
"timeEnter");
    +   private static final AtomicLongFieldUpdater<CriticalMeasure> 
TIME_LEFT_UPDATER = AtomicLongFieldUpdater.newUpdater(CriticalMeasure.class, 
"timeLeft");
     
    +   //System::nanoTime can't reach this value so it's the best candidate to 
have a NULL semantic
        private volatile long timeEnter;
    --- End diff --
    
    Set both to Long.MIN_VALUE and the logic will work across different OS too.


---

Reply via email to