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]
