(ringDesc *Desc, forgetPeriod time.Duration, logger log.Logger)
| 1042 | var allStatesRingOperation = Operation(0x0000ffff) |
| 1043 | |
| 1044 | func AutoForgetFromRing(ringDesc *Desc, forgetPeriod time.Duration, logger log.Logger) { |
| 1045 | for id, instance := range ringDesc.Ingesters { |
| 1046 | lastHeartbeat := time.Unix(instance.GetTimestamp(), 0) |
| 1047 | |
| 1048 | if time.Since(lastHeartbeat) > forgetPeriod { |
| 1049 | level.Warn(logger).Log("msg", "auto-forgetting instance from the ring because it is unhealthy for a long time", "instance", id, "last_heartbeat", lastHeartbeat.String(), "forget_period", forgetPeriod) |
| 1050 | ringDesc.RemoveIngester(id) |
| 1051 | } |
| 1052 | } |
| 1053 | } |
no test coverage detected