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]

…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 <edi_scaueru@yahoo.com>
@eduardscaueru eduardscaueru force-pushed the ha_tracker_mixed_replicas_find_first branch from 47595b0 to 19a7adc Compare October 25, 2024 10:49
Signed-off-by: Friedrich Gonzalez <1517449+friedrichg@users.noreply.github.com>
Signed-off-by: eduardscaueru <edi_scaueru@yahoo.com>
Signed-off-by: eduardscaueru <edi_scaueru@yahoo.com>
@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