Skip to content

Commit 717bd26

Browse files
authored
fix(ring): Fix flaky TestMinimizeSpreadTokenGenerator (#7484)
Increase the token distribution tolerance from 0.01 (1%) to 0.02 (2%). The minimize-spread algorithm is probabilistic and can occasionally produce distributions slightly over 1% error, causing flaky failures. A 2% tolerance still validates the algorithm works correctly. Signed-off-by: Ben Ye <benye@amazon.com>
1 parent 40aeb52 commit 717bd26

1 file changed

Lines changed: 2 additions & 2 deletions

File tree

pkg/ring/token_generator_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@ func TestMinimizeSpreadTokenGenerator(t *testing.T) {
9393
// Should Generate tokens based on the ring state
9494
for i := range 50 {
9595
generateTokensForIngesters(t, rindDesc, fmt.Sprintf("minimize-%v", i), zones, minimizeTokenGenerator, dups)
96-
assertDistancePerIngester(t, rindDesc, 0.01)
96+
assertDistancePerIngester(t, rindDesc, 0.02)
9797
}
9898
require.Equal(t, mTokenGenerator.called, len(zones))
9999

@@ -103,7 +103,7 @@ func TestMinimizeSpreadTokenGenerator(t *testing.T) {
103103
rindDesc.AddIngester("partial", "partial", zones[0], rTokens, ACTIVE, time.Now())
104104
nTokens := minimizeTokenGenerator.GenerateTokens(rindDesc, "partial", zones[0], 256, true)
105105
rindDesc.AddIngester("partial", "partial", zones[0], append(rTokens, nTokens...), ACTIVE, time.Now())
106-
assertDistancePerIngester(t, rindDesc, 0.01)
106+
assertDistancePerIngester(t, rindDesc, 0.02)
107107

108108
mTokenGenerator.called = 0
109109
// Should fallback to random generator when more than 1 ingester does not have tokens and force flag is set

0 commit comments

Comments
 (0)