From 5e5569ff98feb0a2be1e9462574c99d1dc8a94ff Mon Sep 17 00:00:00 2001 From: gnaegi <gnaegi@eames.fritz.box> Date: Fri, 10 Apr 2020 09:01:37 +0200 Subject: [PATCH] OO-4631 random compare for same bbb server load for random distribution --- .../bigbluebutton/manager/BigBlueButtonManagerImpl.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/olat/modules/bigbluebutton/manager/BigBlueButtonManagerImpl.java b/src/main/java/org/olat/modules/bigbluebutton/manager/BigBlueButtonManagerImpl.java index b0729b211f5..b0becb11098 100644 --- a/src/main/java/org/olat/modules/bigbluebutton/manager/BigBlueButtonManagerImpl.java +++ b/src/main/java/org/olat/modules/bigbluebutton/manager/BigBlueButtonManagerImpl.java @@ -27,6 +27,7 @@ import java.util.Comparator; import java.util.Date; import java.util.HashSet; import java.util.List; +import java.util.Random; import java.util.Set; import java.util.concurrent.CountDownLatch; import java.util.concurrent.TimeUnit; @@ -794,7 +795,10 @@ public class BigBlueButtonManagerImpl implements BigBlueButtonManager, Initializ public int compare(BigBlueButtonServerInfos o1, BigBlueButtonServerInfos o2) { double l1 = o1.getLoad(); double l2 = o2.getLoad(); - return Double.compare(l1, l2); + if (l1 == l2) { + // random order for same load for equal distribution of server usage + return (new Random().nextBoolean() ? 1 : -1); + } return Double.compare(l1, l2); } } -- GitLab