Skip to content

Commit eaf9463

Browse files
authored
Fix flaky TestShuffleShardWithCaching test (#5428)
* Fix Flaky test Signed-off-by: Alan Protasio <[email protected]> * get state and tokens together - to have consistency Signed-off-by: Alan Protasio <[email protected]> --------- Signed-off-by: Alan Protasio <[email protected]>
1 parent 4bd4ff3 commit eaf9463

File tree

1 file changed

+7
-1
lines changed

1 file changed

+7
-1
lines changed

pkg/ring/lifecycler.go

+7-1
Original file line numberDiff line numberDiff line change
@@ -315,6 +315,12 @@ func (i *Lifecycler) getTokens() Tokens {
315315
return i.tokens
316316
}
317317

318+
func (i *Lifecycler) getStateAndTokens() (InstanceState, Tokens) {
319+
i.stateMtx.RLock()
320+
defer i.stateMtx.RUnlock()
321+
return i.state, i.tokens
322+
}
323+
318324
func (i *Lifecycler) setTokens(tokens Tokens) {
319325
i.lifecyclerMetrics.tokensOwned.Set(float64(len(tokens)))
320326

@@ -800,7 +806,7 @@ func (i *Lifecycler) updateConsul(ctx context.Context) error {
800806
ringDesc.AddIngester(i.ID, i.Addr, i.Zone, i.getTokens(), i.GetState(), i.getRegisteredAt())
801807
} else {
802808
instanceDesc.Timestamp = time.Now().Unix()
803-
instanceDesc.State = i.GetState()
809+
instanceDesc.State, instanceDesc.Tokens = i.getStateAndTokens()
804810
instanceDesc.Addr = i.Addr
805811
instanceDesc.Zone = i.Zone
806812
instanceDesc.RegisteredTimestamp = i.getRegisteredAt().Unix()

0 commit comments

Comments
 (0)