Looks like the burst
configuration for the Workflow Controller doesn't actually do anything
#8576
Labels
area/controller
Controller issues, panics
problem/stale
This has not had a response in some time
type/bug
Was hunting down what
burst
actually does for https://cloud-native.slack.com/archives/C01QW9QSSSK/p1651410938829379Looking for
burst
in https://github.com/argoproj/argo-workflows takes us to https://github.com/argoproj/argo-workflows/blob/master/workflow/controller/config.go#L85Looks like it's using a built in golang Library, time/rate .. so we can take a look at https://pkg.go.dev/golang.org/x/time/rate#Limiter.Burst
This tells us
Interesting. Where are we using any of those calls in the Workflow controller on this
rateLimiter
object from the first link? Looks like .. herehttps://github.com/argoproj/argo-workflows/blob/master/workflow/controller/workflowpod.go#L429
So, we're using
Allow
. Based onhttps://pkg.go.dev/golang.org/x/time/rate#Limiter.Allow
Allow
is shorthand forAllowN(time.Now(), 1)
.So wait --
burst
tells us how many tokens for rate limiting can be requested in a single call toAllow
. However, the controller only ever requests a single token at time.Thus -- I actually think that the configured
burst
for the Workflow Controller doesn't do anything at all.Let me know if it seems like I missed anything here, but I'm pretty sure
burst
does nothing for the Workflow controller.The text was updated successfully, but these errors were encountered: