MCPcopy
hub / github.com/grafana/dskit / addInstanceAfterSomeTime

Function addInstanceAfterSomeTime

ring/util_test.go:171–186  ·  view source on GitHub ↗
(ring *Ring, addInstanceAfter time.Duration)

Source from the content-addressed store, hash-verified

169}
170
171func addInstanceAfterSomeTime(ring *Ring, addInstanceAfter time.Duration) {
172 go func() {
173 time.Sleep(addInstanceAfter)
174
175 ring.mtx.Lock()
176 defer ring.mtx.Unlock()
177 ringDesc := ring.ringDesc
178 instanceID := fmt.Sprintf("127.0.0.%d", len(ringDesc.Ingesters)+1)
179 ringDesc.Ingesters[instanceID] = InstanceDesc{Addr: instanceID, State: ACTIVE, Timestamp: time.Now().Unix()}
180 ring.ringDesc = ringDesc
181 ring.ringTokens = ringDesc.GetTokens()
182 ring.ringTokensByZone = ringDesc.getTokensByZone()
183 ring.ringInstanceByToken = ringDesc.getTokensInfo()
184 ring.ringZones = getZones(ringDesc.getTokensByZone())
185 }()
186}
187
188func TestWaitRingStability_ShouldReturnOnceMinStabilityOfInstancesHasBeenReached(t *testing.T) {
189 t.Parallel()

Calls 5

getZonesFunction · 0.85
getTokensByZoneMethod · 0.80
getTokensInfoMethod · 0.80
SleepMethod · 0.65
GetTokensMethod · 0.45

Tested by

no test coverage detected