-
Notifications
You must be signed in to change notification settings - Fork 2.1k
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
Receive: Add parameter to set out-of-order time window #5839
Conversation
Signed-off-by: Matej Gera <matejgera@gmail.com>
Signed-off-by: Matej Gera <matejgera@gmail.com>
Signed-off-by: Matej Gera <matejgera@gmail.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Overall this looks good.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should we also add flag for OutOfOrderCapMax
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good overall!
I can add that as well, wasn't too sure if this is something end users will need to tweak ordinarily. |
Signed-off-by: Matej Gera <matejgera@gmail.com>
Signed-off-by: Matej Gera <matejgera@gmail.com>
Signed-off-by: Matej Gera <matejgera@gmail.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
@matej-g I just realized that one more thing. On the shipper side (the component who is responsible for uploading blocks), there is also a overlapping checker. |
So, I'm not super familiar with the compaction in Prometheus, but as far as I can understand the code:
So it should not be an issue. Does this make sense @yeya24? |
@yeya24 if I now look better at the shipper code, I notice we don't ship blocks with > 1 compaction level, so the overlap check should not even kick in. |
Yeah I didn't know how OOO really works so not sure if it produces a level 1 overlapped block compacted or it creates 2 level 1 blocks with a normal one and 1 OOO one. If it creates 2 level 1 block with a normal one and 1 OOO. Do you know does Prometheus will compact the two if there is overlap? |
Got you now, I see we don't run compaction because of min == max block duration, yeah we should be safe, thanks for checking 👍 |
* Add flag to specify out-of-order time window Signed-off-by: Matej Gera <matejgera@gmail.com> * Handle new sample error Signed-off-by: Matej Gera <matejgera@gmail.com> * Adjust CHANGELOG Signed-off-by: Matej Gera <matejgera@gmail.com> * Add out-of-order cap max parameter Signed-off-by: Matej Gera <matejgera@gmail.com> * Update docs Signed-off-by: Matej Gera <matejgera@gmail.com> * Add warning about enabling vertical compaction Signed-off-by: Matej Gera <matejgera@gmail.com> Signed-off-by: Matej Gera <matejgera@gmail.com>
Changes
Although we recently updated Prometheus version that experimentally allows to ingest out-of-order samples, our users have no way of setting this as of now. This change adds a parameter to set this time window. In addition it also handles a new type of error (sample too old) that can occur if this feature is enabled.
Verification
Manually tried 😶