| 546 | var sep = []byte("/") |
| 547 | |
| 548 | func tokenForGroup(g *rulespb.RuleGroupDesc) uint32 { |
| 549 | ringHasher := fnv.New32a() |
| 550 | |
| 551 | // Hasher never returns err. |
| 552 | _, _ = ringHasher.Write([]byte(g.User)) |
| 553 | _, _ = ringHasher.Write(sep) |
| 554 | _, _ = ringHasher.Write([]byte(g.Namespace)) |
| 555 | _, _ = ringHasher.Write(sep) |
| 556 | _, _ = ringHasher.Write([]byte(g.Name)) |
| 557 | |
| 558 | return ringHasher.Sum32() |
| 559 | } |
| 560 | |
| 561 | func (r *Ruler) instanceOwnsRuleGroup(rr ring.ReadRing, g *rulespb.RuleGroupDesc, disabledRuleGroups validation.DisabledRuleGroups, forBackup bool) (bool, error) { |
| 562 | |