fix: partially revert "fix: sort round weights descending in IWRR"
authorJérôme Benoit <jerome.benoit@piment-noir.org>
Tue, 21 Nov 2023 19:43:45 +0000 (20:43 +0100)
committerJérôme Benoit <jerome.benoit@piment-noir.org>
Tue, 21 Nov 2023 19:43:45 +0000 (20:43 +0100)
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
CHANGELOG.md
docs/worker-choice-strategies.md
src/pools/selection-strategies/interleaved-weighted-round-robin-worker-choice-strategy.ts

index 1e17cee693ac692ea9ee8a2f52675c359a179e0a..60a03ae2aaaa532c9bd14b363a10b139858c5e72 100644 (file)
@@ -10,7 +10,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
 ### Fixed
 
 - Ensure pool statuses are checked at initialization, `start()` or `destroy()`.
-- Sort IWRR worker choice strategy round weights in descending order.
 
 ## [3.0.5] - 2023-10-27
 
index f7380dd6dc543a7c0dc0b55d2085de3a958458df..36d6cf70f6493b8f7fa7ad742dffa185b2bd190d 100644 (file)
@@ -24,7 +24,7 @@ The worker weights are maximum tasks execution time. Once the worker has reached
 
 ### Interleaved weighted round robin (experimental)
 
-The worker weights are maximum tasks execution time. The rounds are the deduplicated worker weights in descending order.  
+The worker weights are maximum tasks execution time. The rounds are the deduplicated worker weights in ascending order.  
 During a round, if the worker weight is superior or equal to the current round weight and its tasks execution time is inferior to the current round weight, the task is assigned to the worker. Once all workers weight have been tested, the next round starts.  
 The default worker weights is the same for each and computed given the CPU cores speed and theirs numbers. So the default 'rounds' consists of a unique worker weight.
 
index 9c863b56f980bffe9f2eb6b86244bb3ad1573033..eee39ec8d646da13324c7050e86afc33882fa22c 100644 (file)
@@ -170,7 +170,7 @@ export class InterleavedWeightedRoundRobinWorkerChoiceStrategy<
       ...new Set(
         Object.values(this.opts.weights)
           .slice()
-          .sort((a, b) => b - a)
+          .sort((a, b) => a - b)
       )
     ]
   }