fix the test

This commit is contained in:
nnhphong
2025-12-10 18:26:52 -05:00
parent a9db727bde
commit 7a68e4b17b

View File

@@ -171,10 +171,14 @@ mod tests {
let mut b = AdaptiveWeightBalancer::new(backends.clone(), [0.5, 0.2, 0.2, 0.1], 0.5); let mut b = AdaptiveWeightBalancer::new(backends.clone(), [0.5, 0.2, 0.2, 0.1], 0.5);
// initially equal weights // initially equal weights
// update one backend to be heavily loaded // update one backend to be heavily loaded
let mut sm0_guard = backends.backends.get(0).unwrap().metrics.write().unwrap(); {
sm0_guard.update(90.0, 80.0, 10.0, 5.0); let mut sm0_guard = backends.backends.get(0).unwrap().metrics.write().unwrap();
let mut sm1_guard = backends.backends.get(1).unwrap().metrics.write().unwrap(); sm0_guard.update(90.0, 80.0, 10.0, 5.0);
sm1_guard.update(10.0, 5.0, 1.0, 1.0); }
{
let mut sm1_guard = backends.backends.get(1).unwrap().metrics.write().unwrap();
sm1_guard.update(10.0, 5.0, 1.0, 1.0);
}
// Choose backend: should pick the less loaded host server1 // Choose backend: should pick the less loaded host server1
let chosen = b let chosen = b
@@ -205,10 +209,14 @@ mod tests {
]); ]);
let mut b = AdaptiveWeightBalancer::new(backends.clone(), [0.25, 0.25, 0.25, 0.25], 1.0); let mut b = AdaptiveWeightBalancer::new(backends.clone(), [0.25, 0.25, 0.25, 0.25], 1.0);
let mut sm0_guard = backends.backends.get(0).unwrap().metrics.write().unwrap(); {
sm0_guard.update(0.0, 0.0, 0.0, 0.0); let mut sm0_guard = backends.backends.get(0).unwrap().metrics.write().unwrap();
let mut sm1_guard = backends.backends.get(1).unwrap().metrics.write().unwrap(); sm0_guard.update(0.0, 0.0, 0.0, 0.0);
sm1_guard.update(100.0, 100.0, 100.0, 100.0); }
{
let mut sm1_guard = backends.backends.get(1).unwrap().metrics.write().unwrap();
sm1_guard.update(100.0, 100.0, 100.0, 100.0);
}
let chosen = b let chosen = b
.choose_backend(unused_ctx()) .choose_backend(unused_ctx())
@@ -228,12 +236,19 @@ mod tests {
]); ]);
// set current_loads (field expected to be public) // set current_loads (field expected to be public)
let mut sm0_guard = backends.backends.get(0).unwrap().metrics.write().unwrap();
sm0_guard.update(10.0, 10.0, 10.0, 10.0); {
let mut sm1_guard = backends.backends.get(1).unwrap().metrics.write().unwrap(); let mut sm0_guard = backends.backends.get(0).unwrap().metrics.write().unwrap();
sm1_guard.update(5.0, 5.0, 5.0, 5.0); sm0_guard.update(10.0, 10.0, 10.0, 10.0);
let mut sm2_guard = backends.backends.get(2).unwrap().metrics.write().unwrap(); }
sm2_guard.update(20.0, 20.0, 20.0, 20.0); {
let mut sm1_guard = backends.backends.get(1).unwrap().metrics.write().unwrap();
sm1_guard.update(5.0, 5.0, 5.0, 5.0);
}
{
let mut sm2_guard = backends.backends.get(2).unwrap().metrics.write().unwrap();
sm2_guard.update(20.0, 20.0, 20.0, 20.0);
}
// Use coeffs that only consider CPU so composite load is easy to reason about. // Use coeffs that only consider CPU so composite load is easy to reason about.
let mut bal = AdaptiveWeightBalancer::new(backends.clone(), [1.0, 0.0, 0.0, 0.0], 0.5); let mut bal = AdaptiveWeightBalancer::new(backends.clone(), [1.0, 0.0, 0.0, 0.0], 0.5);