-
Notifications
You must be signed in to change notification settings - Fork 810
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
Making ingester head compaction jitter Zone aware. #5928
Conversation
bdd5410
to
26c9789
Compare
@yeya24 Can you take a look? :D I will update the changelog after if we go with it. |
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.
I like this change. It looks great and I think it makes sense. Just some nits.
Signed-off-by: alanprot <alanprot@gmail.com>
Signed-off-by: alanprot <alanprot@gmail.com>
Signed-off-by: alanprot <alanprot@gmail.com>
Signed-off-by: alanprot <alanprot@gmail.com>
These tests seem to fail when it's experiencing cpu starvation from other tests running concurrently because of the usage of a wall clock and the timing could be off depending on how busy the CPU is. Could we use a mock clock or increase the duration in the tests to decrease the chance of race conditions? |
What this PR does:
#5919 We introduced a jitter on the head compaction. This PR is proposing to change that jitter to take in consideration the AZ of the ingester.
Lets say we configure to have a head compaction interval set at 15 minutes across 3 Availability Zones (AZs). Prior to this change, the ingesters would determine a random jitter and perform the head compaction at any minute within each 15-minute interval. This change ensure that within every 15-minute interval, Ingesters in AZ1 execute head compaction from minute 0 to 5, those in AZ2 from minute 5 to 10, and those in AZ3 from minute 10 to 15.
I added a log on every tick to show the time of the tick and the AZ of the ingester on a 15 minutes period:
Which issue(s) this PR fixes:
Fixes #
Checklist
CHANGELOG.md
updated - the order of entries should be[CHANGE]
,[FEATURE]
,[ENHANCEMENT]
,[BUGFIX]