diff --git a/pkg/scheduling/v1/scheduler.go b/pkg/scheduling/v1/scheduler.go index 991f698ed..e7cb156db 100644 --- a/pkg/scheduling/v1/scheduler.go +++ b/pkg/scheduling/v1/scheduler.go @@ -612,13 +612,15 @@ func (s *Scheduler) tryAssignSingleton( rateLimitNack func(), ) ( res assignSingleResult, err error, - ) { ctx, span := telemetry.NewSpan(ctx, "try-assign-singleton") // nolint: ineffassign defer span.End() + ringOffset = ringOffset % len(candidateSlots) + if (qi.Sticky != sqlcv1.V1StickyStrategyNONE) || len(labels) > 0 { candidateSlots = getRankedSlots(qi, labels, candidateSlots) + ringOffset = 0 } assignedSlot := findSlot(candidateSlots[ringOffset:], rateLimitAck, rateLimitNack)