diff options
| author | Aleksandr Nogikh <nogikh@google.com> | 2023-11-22 14:14:07 +0100 |
|---|---|---|
| committer | Aleksandr Nogikh <nogikh@google.com> | 2023-11-22 13:37:28 +0000 |
| commit | cdd4e8035d2aa20897d97cece8607c8177e0aacd (patch) | |
| tree | 67b680803f98ce92bfc4efbb6e6633d0b88ad5f8 /dashboard/app/cache.go | |
| parent | cb976f63e0177b96eb9ce1c631cc5e2c4b4b0759 (diff) | |
dashboard: don't print error on high memcache contention
At peak load times, it can be expected that CAS will require too many
iterations. There's no reason to report it as an error.
Diffstat (limited to 'dashboard/app/cache.go')
| -rw-r--r-- | dashboard/app/cache.go | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/dashboard/app/cache.go b/dashboard/app/cache.go index 240a6a91f..5867f4782 100644 --- a/dashboard/app/cache.go +++ b/dashboard/app/cache.go @@ -5,6 +5,7 @@ package main import ( "encoding/json" + "errors" "fmt" "net/http" "sort" @@ -280,6 +281,8 @@ func (ri *RequesterInfo) Record(now time.Time, cfg ThrottleConfig) bool { return len(newRequests) <= cfg.Limit } +var ErrThrottleTooManyRetries = errors.New("all attempts to record request failed") + func ThrottleRequest(c context.Context, requesterID string) (bool, error) { cfg := getConfig(c).Throttle if cfg.Empty() || requesterID == "" { @@ -325,5 +328,5 @@ func ThrottleRequest(c context.Context, requesterID string) (bool, error) { } return ok, nil } - return false, fmt.Errorf("all attempts to record request failed") + return false, ErrThrottleTooManyRetries } |
