From f2c65c89badb716b130b4baa70222ff4250ce4dd Mon Sep 17 00:00:00 2001 From: Marco Pracucci Date: Wed, 16 Sep 2020 11:52:29 +0200 Subject: [PATCH] Turn memcached circuit-breaker on by default (#3189) (#3190) * Turn memcached circuit-breaker on by default Will trip after 10 failures within 10 seconds Signed-off-by: Bryan Boreham * Change circuit-breaker log fields to avoid clash The names 'from' and 'to' are used elsewhere as dates, so avoid re-using them here as strings Signed-off-by: Bryan Boreham * Update CHANGELOG Signed-off-by: Bryan Boreham * Updated doc Signed-off-by: Marco Pracucci Co-authored-by: Marco Pracucci Co-authored-by: Bryan Boreham --- cache/memcached_client.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cache/memcached_client.go b/cache/memcached_client.go index 231ab18f7bb2..ddb089720492 100644 --- a/cache/memcached_client.go +++ b/cache/memcached_client.go @@ -83,7 +83,7 @@ func (cfg *MemcachedClientConfig) RegisterFlagsWithPrefix(prefix, description st f.DurationVar(&cfg.Timeout, prefix+"memcached.timeout", 100*time.Millisecond, description+"Maximum time to wait before giving up on memcached requests.") f.DurationVar(&cfg.UpdateInterval, prefix+"memcached.update-interval", 1*time.Minute, description+"Period with which to poll DNS for memcache servers.") f.BoolVar(&cfg.ConsistentHash, prefix+"memcached.consistent-hash", true, description+"Use consistent hashing to distribute to memcache servers.") - f.UintVar(&cfg.CBFailures, prefix+"memcached.circuit-breaker-consecutive-failures", 0, description+"Trip circuit-breaker after this number of consecutive dial failures (if zero then circuit-breaker is disabled).") + f.UintVar(&cfg.CBFailures, prefix+"memcached.circuit-breaker-consecutive-failures", 10, description+"Trip circuit-breaker after this number of consecutive dial failures (if zero then circuit-breaker is disabled).") f.DurationVar(&cfg.CBTimeout, prefix+"memcached.circuit-breaker-timeout", 10*time.Second, description+"Duration circuit-breaker remains open after tripping (if zero then 60 seconds is used).") f.DurationVar(&cfg.CBInterval, prefix+"memcached.circuit-breaker-interval", 10*time.Second, description+"Reset circuit-breaker counts after this long (if zero then never reset).") } @@ -147,7 +147,7 @@ func NewMemcachedClient(cfg MemcachedClientConfig, name string, r prometheus.Reg } func (c *memcachedClient) circuitBreakerStateChange(name string, from gobreaker.State, to gobreaker.State) { - level.Info(c.logger).Log("msg", "circuit-breaker state change", "name", name, "from", from, "to", to) + level.Info(c.logger).Log("msg", "circuit-breaker state change", "name", name, "from-state", from, "to-state", to) } func (c *memcachedClient) dialViaCircuitBreaker(network, address string, timeout time.Duration) (net.Conn, error) {