Repository: activemq
Updated Branches:
  refs/heads/trunk 128921e68 -> 9c2471604


https://issues.apache.org/jira/browse/AMQ-4930 tracked hung 
org.apache.activemq.usecases.ExpiredMessagesWithNoConsumerTest#testExpiredMessagesWithNoConsumer
 - when using lower -Xmx than maven run - looping on browse due to no page when 
hasSpace fails. Browse picks up this state now


Project: http://git-wip-us.apache.org/repos/asf/activemq/repo
Commit: http://git-wip-us.apache.org/repos/asf/activemq/commit/9c247160
Tree: http://git-wip-us.apache.org/repos/asf/activemq/tree/9c247160
Diff: http://git-wip-us.apache.org/repos/asf/activemq/diff/9c247160

Branch: refs/heads/trunk
Commit: 9c247160440ecb4aa91903895e7fabb8ad9c92e5
Parents: 128921e
Author: gtully <[email protected]>
Authored: Wed Mar 12 16:51:22 2014 +0000
Committer: gtully <[email protected]>
Committed: Wed Mar 12 16:51:22 2014 +0000

----------------------------------------------------------------------
 .../java/org/apache/activemq/broker/region/Queue.java     | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/activemq/blob/9c247160/activemq-broker/src/main/java/org/apache/activemq/broker/region/Queue.java
----------------------------------------------------------------------
diff --git 
a/activemq-broker/src/main/java/org/apache/activemq/broker/region/Queue.java 
b/activemq-broker/src/main/java/org/apache/activemq/broker/region/Queue.java
index a8a864e..60c6228 100755
--- a/activemq-broker/src/main/java/org/apache/activemq/broker/region/Queue.java
+++ b/activemq-broker/src/main/java/org/apache/activemq/broker/region/Queue.java
@@ -1230,15 +1230,17 @@ public class Queue extends BaseDestination implements 
Task, UsageListener {
     }
 
     private boolean shouldPageInMoreForBrowse(int max) {
+        int alreadyPagedIn = 0;
         pagedInMessagesLock.readLock().lock();
         try {
-            int alreadyPagedIn = pagedInMessages.size();
-            return  alreadyPagedIn < max
-                    && alreadyPagedIn < 
getDestinationStatistics().getMessages().getCount()
-                    && !memoryUsage.isFull(110);
+            alreadyPagedIn = pagedInMessages.size();
         } finally {
             pagedInMessagesLock.readLock().unlock();
         }
+        LOG.trace("max {}, alreadyPagedIn {}, messagesCount {}, memoryUsage 
{}%", new Object[]{max, alreadyPagedIn, 
destinationStatistics.getMessages().getCount(), memoryUsage.getPercentUsage()});
+        return (alreadyPagedIn < max)
+                && (alreadyPagedIn < 
destinationStatistics.getMessages().getCount())
+                && messages.hasSpace();
     }
 
     private void addAll(Collection<? extends MessageReference> refs, 
List<Message> l, int max,

Reply via email to