Repository: qpid-broker-j Updated Branches: refs/heads/master 9d08c7651 -> 619d85b29
QPID-8207: [Broker-J] Fix evaluation of flow to disk thresholds for virtual hosts 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/619d85b2 Tree: http://git-wip-us.apache.org/repos/asf/qpid-broker-j/tree/619d85b2 Diff: http://git-wip-us.apache.org/repos/asf/qpid-broker-j/diff/619d85b2 Branch: refs/heads/master Commit: 619d85b2986afaf2d09d05ff0ba3dc0fbb89507f Parents: 9d08c76 Author: Alex Rudyy <[email protected]> Authored: Fri Jun 8 18:14:27 2018 +0100 Committer: Alex Rudyy <[email protected]> Committed: Fri Jun 8 18:17:50 2018 +0100 ---------------------------------------------------------------------- .../main/java/org/apache/qpid/server/model/BrokerImpl.java | 5 +++-- .../org/apache/qpid/server/model/adapter/BrokerImplTest.java | 7 +++++++ 2 files changed, 10 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/619d85b2/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 5f06b84..085628d 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 @@ -593,8 +593,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/619d85b2/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 8df9ca8..9563a9d 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 @@ -139,6 +139,13 @@ public class BrokerImplTest extends UnitTestBase } @Test + public void testAssignTargetSizesWithHighQueueDepthAndMemoryLimit() throws Exception + { + long flowToDiskThreshold = 3L * 1024 * 1024 * 1024; + doAssignTargetSizeTest(new long[] {4L * 1024 * 1024 * 1024, 0, 0 , 0}, flowToDiskThreshold); + } + + @Test public void testNetworkBufferSize() { Map<String, Object> attributes = new HashMap<>(); --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
