Repository: qpid-broker-j
Updated Branches:
  refs/heads/6.1.x a53709ba6 -> b3842e302


QPID-8207: [Broker-J] Fix evaluation of flow to disk thresholds for virtual 
hosts

(cherry picked from commit 619d85b2986afaf2d09d05ff0ba3dc0fbb89507f)


Project: http://git-wip-us.apache.org/repos/asf/qpid-broker-j/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-broker-j/commit/b3842e30
Tree: http://git-wip-us.apache.org/repos/asf/qpid-broker-j/tree/b3842e30
Diff: http://git-wip-us.apache.org/repos/asf/qpid-broker-j/diff/b3842e30

Branch: refs/heads/6.1.x
Commit: b3842e30228c5e47a6f7bd6518e6806ffdcc3f9b
Parents: a53709b
Author: Alex Rudyy <[email protected]>
Authored: Fri Jun 8 18:14:27 2018 +0100
Committer: Alex Rudyy <[email protected]>
Committed: Sun Jun 10 23:50:51 2018 +0100

----------------------------------------------------------------------
 .../src/main/java/org/apache/qpid/server/model/BrokerImpl.java | 5 +++--
 .../org/apache/qpid/server/model/adapter/BrokerImplTest.java   | 6 ++++++
 2 files changed, 9 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/b3842e30/broker-core/src/main/java/org/apache/qpid/server/model/BrokerImpl.java
----------------------------------------------------------------------
diff --git 
a/broker-core/src/main/java/org/apache/qpid/server/model/BrokerImpl.java 
b/broker-core/src/main/java/org/apache/qpid/server/model/BrokerImpl.java
index 6c8b4be..808f04c 100644
--- a/broker-core/src/main/java/org/apache/qpid/server/model/BrokerImpl.java
+++ b/broker-core/src/main/java/org/apache/qpid/server/model/BrokerImpl.java
@@ -520,8 +520,9 @@ public class BrokerImpl extends 
AbstractContainer<BrokerImpl> implements Broker<
             }
             else
             {
-                long queueSizeBasedShare = (_flowToDiskThreshold * 
virtualHostTotalQueueSize) / (2 * totalSize);
-                size = queueSizeBasedShare + (proportionalShare / 2);
+                double fraction = 
((double)virtualHostTotalQueueSize)/((double)totalSize);
+                double queueSizeBasedShare = ((double)_flowToDiskThreshold)/ 
2.0 * fraction;
+                size = (long)(queueSizeBasedShare + 
((double)proportionalShare) / 2.0);
             }
 
             if (LOGGER.isDebugEnabled())

http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/b3842e30/broker-core/src/test/java/org/apache/qpid/server/model/adapter/BrokerImplTest.java
----------------------------------------------------------------------
diff --git 
a/broker-core/src/test/java/org/apache/qpid/server/model/adapter/BrokerImplTest.java
 
b/broker-core/src/test/java/org/apache/qpid/server/model/adapter/BrokerImplTest.java
index 652c9aa..08eb789 100644
--- 
a/broker-core/src/test/java/org/apache/qpid/server/model/adapter/BrokerImplTest.java
+++ 
b/broker-core/src/test/java/org/apache/qpid/server/model/adapter/BrokerImplTest.java
@@ -129,6 +129,12 @@ public class BrokerImplTest extends QpidTestCase
                                flowToDiskThreshold);
     }
 
+    public void testAssignTargetSizesWithHighQueueDepthAndMemoryLimit() throws 
Exception
+    {
+        long flowToDiskThreshold = 3L * 1024 * 1024 * 1024;
+        doAssignTargetSizeTest(new long[] {4L * 1024 * 1024 * 1024, 0, 0 , 0}, 
flowToDiskThreshold);
+    }
+
     public void testNetworkBufferSize()
     {
         Map<String, Object> attributes = new HashMap<>();


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to