You are viewing a plain text version of this content. The canonical link for it is here.
Posted to gitbox@activemq.apache.org by GitBox <gi...@apache.org> on 2019/10/11 14:03:28 UTC

[GitHub] [activemq-artemis] clebertsuconic commented on a change in pull request #2861: ARTEMIS-2515 pageIterator.hasNext spends too much time in the case of no messages matched

clebertsuconic commented on a change in pull request #2861: ARTEMIS-2515 pageIterator.hasNext spends too much time in the case of no messages matched
URL: https://github.com/apache/activemq-artemis/pull/2861#discussion_r334007365
 
 

 ##########
 File path: artemis-server/src/main/java/org/apache/activemq/artemis/core/server/impl/QueueImpl.java
 ##########
 @@ -2680,24 +2684,24 @@ private boolean deliver() {
 
       int handled = 0;
 
-      long timeout = System.currentTimeMillis() + DELIVERY_TIMEOUT;
+      long timeout = System.nanoTime() + TimeUnit.MILLISECONDS.toNanos(DELIVERY_TIMEOUT);
       consumers.reset();
       while (true) {
          if (handled == MAX_DELIVERIES_IN_LOOP) {
             // Schedule another one - we do this to prevent a single thread getting caught up in this loop for too
             // long
 
-            deliverAsync();
+            deliverAsync(true);
 
             return false;
          }
 
-         if (System.currentTimeMillis() > timeout) {
+         if (System.nanoTime() > timeout) {
 
 Review comment:
   I remember not long ago, we had to change a few nanoTime operations to avoid overflow.
   
   I think, based on that the correct would be System.nanoTime() - timeout > 0
   
   There was a previous big commit where we changed a few like this... the commit I could find where Franz changed something similar was 35c3475092576e7b008220f7c39b78e15850d5fd
   
   
   Can you make that change here please?
   
   

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services