-
Notifications
You must be signed in to change notification settings - Fork 11
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
Points with repeated timestamps overwrites database cyclicaly #20
Comments
Hi @chernomor , Thanks for report! But you didn't mentioned what's running on localhost:2003 - what software, which version and with which config. It's quite hard to reproduce without that information. Thanks! |
Hi @deniszh, |
@chernomor go-carbon's config (I mean |
go-carbon.conf
storage-aggregation.conf
storage-schemas.conf
|
Thanks! Key thing here is that you are using compressed whisper, and maybe @bom-d-van would be the best person to have a look at your issue. |
@Civil yes, without compression this strange case (with repeated points) works fine :) |
@chernomor thanks for the report! (also thanks @deniszh and @Civil for the discussion) |
@chernomor the issue is some what an edge case in the compressed whisper. In the current design, compressed whisper doesn't support data rewrite like standard whisper file. The check in the code that we had at the moment only guards against files with at least 2 levels of retentions policy (like 1s:2d,1m:30d). For single level retention policy (like
I haven't decide which way to go. Let me know if you think one is better than another. |
@bom-d-van, with second solution cwhisper will save only points with larger timestamp than last saved? |
@bom-d-van I think, discard data is most reliable way - because old points will not be lost (it's most important goal at my opinion). Rewrite may be done manualy by sending needed data as new metric and replace old file by the new. |
* refactor cmd/compare.go * refactor cmd/dump.go * refactor tests * fix ooo write for single retention cwhisper files #20
* refactor cmd/compare.go * refactor cmd/dump.go * refactor tests * fix ooo write for single retention cwhisper files #20
TLDR: this script will fill database with one point when compression using:
I expects what repeatly sended points will be ignored or will update points in database.
How to reproduce.
storage-schemas.conf:
Fill some points at yesterday:
Send cyclic periods in one interval 10 hours ago:
At same time we can see as old points will be overwritten:
Points with same timestamp duplicates at database:
The text was updated successfully, but these errors were encountered: