Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Distributor accept multiple HA Tracker pairs in the same request (find first) #6279

Conversation

eduardscaueru
Copy link
Contributor

@eduardscaueru eduardscaueru commented Oct 20, 2024

What this PR does:
Added new implementation that makes the distributor accept multiple HA pairs (cluster, replica) in the same requets/batch. This can be enabled with a new flag, accept_mixed_ha_samples, an will take effect only if accept_ha_samples is set to true.

This implementation will identify for every unique HA pair of (cluster, replica) which are the elected replicas, before the timeseries from the batch are processed. When they are processed in the prepareSeriesKeys method, for every timeseries it checks if the pair (cluster, replica) has error in the HA pairs map and if yes, it is discarded and moves on with the other timeseries from the batch.

It also ensures that when the cluster label is missing, the replica label is not removed.

Which issue(s) this PR fixes:
Fixes #6256

Checklist

  • Tests updated
  • Documentation added
  • CHANGELOG.md updated - the order of entries should be [CHANGE], [FEATURE], [ENHANCEMENT], [BUGFIX]

@eduardscaueru eduardscaueru force-pushed the ha_tracker_mixed_replicas_find_first branch 6 times, most recently from db369f5 to 80c8826 Compare October 21, 2024 15:22
@friedrichg friedrichg self-requested a review October 22, 2024 10:19
@eduardscaueru eduardscaueru force-pushed the ha_tracker_mixed_replicas_find_first branch from 80c8826 to 6145139 Compare October 23, 2024 19:29
@eduardscaueru eduardscaueru force-pushed the ha_tracker_mixed_replicas_find_first branch 4 times, most recently from 54cb814 to 47595b0 Compare October 25, 2024 10:35
…A pairs (cluster, replica) in the same requets/batch. This can be enabled with a new flag, accept_mixed_ha_samples, an will take effect only if accept_ha_samples is set to true.

Fixed test by reducing the number of ingesters to 2 and replication factor to 2. Added config reference.

Do not remove replica label if cluster label is not present.

Added more HA mixed replicas tests with no cluster and replica labels and with cluster label only.

Added e2e test for mixed HA samples in the same request. Refactored distributor mixed HA samples logic.

Added experimental flag for accept_mixed_ha_samples.

Added error for non valid HA samples.

Refactored method to compute HA pairs based on the KV store.

Removed ha pairs map from function params.

Signed-off-by: eduardscaueru <[email protected]>
@eduardscaueru eduardscaueru force-pushed the ha_tracker_mixed_replicas_find_first branch from 47595b0 to 19a7adc Compare October 25, 2024 10:49
@friedrichg
Copy link
Member

It was implemented on #6278

@friedrichg friedrichg closed this Nov 19, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[Feature Request] HA Tracker support for multiple prometheus replicas in the same batch
2 participants