MCPcopy Create free account
hub / github.com/cortexproject/cortex / newZoneAwareResultTracker

Function newZoneAwareResultTracker

pkg/ring/replication_set_tracker.go:103–121  ·  view source on GitHub ↗
(instances []InstanceDesc, maxUnavailableZones int, zoneResultsQuorum bool)

Source from the content-addressed store, hash-verified

101}
102
103func newZoneAwareResultTracker(instances []InstanceDesc, maxUnavailableZones int, zoneResultsQuorum bool) *zoneAwareResultTracker {
104 t := &zoneAwareResultTracker{
105 waitingByZone: make(map[string]int),
106 failuresByZone: make(map[string]int),
107 maxUnavailableZones: maxUnavailableZones,
108 numInstances: len(instances),
109 zoneResultsQuorum: zoneResultsQuorum,
110 errors: make([]error, 0, len(instances)),
111 }
112
113 for _, instance := range instances {
114 t.waitingByZone[instance.Zone]++
115 }
116 t.minSuccessfulZones = len(t.waitingByZone) - maxUnavailableZones
117 t.resultsPerZone = make(map[string][]any, len(t.waitingByZone))
118 t.zoneCount = len(t.waitingByZone)
119
120 return t
121}
122
123func (t *zoneAwareResultTracker) done(instance *InstanceDesc, result any, err error) {
124 if err != nil {

Callers 2

DoMethod · 0.85

Calls

no outgoing calls

Tested by 1