[
https://issues.apache.org/jira/browse/ARTEMIS-1393?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16156268#comment-16156268
]
ASF GitHub Bot commented on ARTEMIS-1393:
-----------------------------------------
Github user clebertsuconic commented on a diff in the pull request:
https://github.com/apache/activemq-artemis/pull/1515#discussion_r137426042
--- Diff:
artemis-commons/src/main/java/org/apache/activemq/artemis/utils/critical/CriticalMeasure.java
---
@@ -17,28 +17,39 @@
package org.apache.activemq.artemis.utils.critical;
-import org.jboss.logging.Logger;
+import java.util.concurrent.TimeUnit;
+import java.util.concurrent.atomic.AtomicLongFieldUpdater;
-public class CriticalMeasure {
+final 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");
- private volatile long timeEnter;
- private volatile long timeLeft;
+ //System::nanoTime can't reach this value so it's the best candidate to
have a NULL semantic
+ private static final long NIL = Long.MAX_VALUE;
--- End diff --
just set it to zero like we had before...
and all you need is if (timeEnter > timeLeft)
> CriticalAnalyzer timeout uses System::currentTimeMillis
> -------------------------------------------------------
>
> Key: ARTEMIS-1393
> URL: https://issues.apache.org/jira/browse/ARTEMIS-1393
> Project: ActiveMQ Artemis
> Issue Type: Bug
> Reporter: Francesco Nigro
> Assignee: Francesco Nigro
>
> To compute timeouts of the CriticalAnalyzer Instead of
> System::currentTimeMillis is preferrable to use System::nanoTime, that is not
> sensible to OS changes on the system clock (eg NTP compensation).
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)