Fix for alertmanagers not configuring users before becoming ACTIVE. #4110
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
What this PR does:
(Only applies to sharding operation)
Currently when the alertmanager joins the sharding ring, it tries to
load user configurations, and checks the ring to see what users it
should be servicing. Once finished, the alertmanager changes it's state
to ACTIVE.
However, when performing this initial sync of user configurations, the
alertmanager is in the JOINING state, but checking if a user is owned
requires an instance to be in the ACTIVE state. Therefore, the initial
sync will never configure any users, but the instance will be
considered ACTIVE.
This change fixes the initial sync by considering a user to be owned by
the instance if it is in either the ACTIVE or JOINING state.
Note this fix should address the sporadic integration test failures:
The distributor forwards requests to an instance which it believes is
configured, but the request then fails, because it is not ready yet.
Checklist
Tests updatedDocumentation addedCHANGELOG.md
updated - the order of entries should be[CHANGE]
,[FEATURE]
,[ENHANCEMENT]
,[BUGFIX]