Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Change CRD retry-backoff #788

Merged
merged 1 commit into from
Oct 18, 2021
Merged

Change CRD retry-backoff #788

merged 1 commit into from
Oct 18, 2021

Commits on Oct 18, 2021

  1. Change CRD retry-backoff

    Previously, if a custom resource failed to sync with Consul, we used the
    default retry backoff. This was an exponential backoff starting at 5ms
    and maxing out at 1000s (16m).
    
    This backoff was a poor UX for our common error case where one config
    entry cannot be applied due to a prerequisite, for example an ingress
    gateway entry cannot be applied until the protocol is set to http. The
    usual workflow to resolve this would be to look up the error, figure out
    the correct ServiceDefaults/ProxyDefaults, and then apply that resource.
    Once applied, the user needs to wait fo the ingress gateway (in this
    example) resource to be retried. With the default backoff config,
    because the user will have taken on the order of minutes to figure out
    the correct config, the exponential backoff will now be upwards of
    five minutes. The user will have to wait for a long time for the ingress
    gateway resource to be retried.
    
    This PR changes the backoff to start out at 200ms and max out at 5s.
    This fits our use-case better because the user will have to wait at max
    5ms, usually if there's an error, retrying within 5ms does nothing, so
    waiting 200ms to start is fine, and finally, Consul servers can accept
    tens of thousands of writes per second so even if there are a ton of
    resources retrying every 5s, it won't be an issue.
    lkysow committed Oct 18, 2021
    Configuration menu
    Copy the full SHA
    7089f16 View commit details
    Browse the repository at this point in the history