steal multiple shards per eventLoop

Signed-off-by: Ryan Geary rgeary@lyft.com

Signed-off-by: Ryan Geary <rgeary@lyft.com>
This commit is contained in:
Ryan Geary 2024-09-26 15:31:02 -04:00
parent f6e79f1a2d
commit 66fdfbb817

View file

@ -304,9 +304,11 @@ func (w *Worker) eventLoop() {
} }
} }
// max number of lease has not been reached yet
if counter < w.kclConfig.MaxLeasesForWorker {
for _, shard := range w.shardStatus { for _, shard := range w.shardStatus {
// max number of lease has not been reached yet
if counter >= w.kclConfig.MaxLeasesForWorker {
break
}
// already owner of the shard // already owner of the shard
if shard.GetLeaseOwner() == w.workerID { if shard.GetLeaseOwner() == w.workerID {
continue continue
@ -364,9 +366,9 @@ func (w *Worker) eventLoop() {
log.Errorf("Error in getRecords: %+v", err) log.Errorf("Error in getRecords: %+v", err)
} }
}(shard) }(shard)
// exit from for loop and not to grab more shard for now.
break // Increase the number of leases we have
} counter++
} }
if w.kclConfig.EnableLeaseStealing { if w.kclConfig.EnableLeaseStealing {