-
-
Notifications
You must be signed in to change notification settings - Fork 2.7k
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
Use invalidations for performing check for intersecting periods being processed #22394
base: 5.x-dev
Are you sure you want to change the base?
Conversation
5022d59
to
9178d93
Compare
90808ff
to
7806cd6
Compare
acb5b40
to
a516546
Compare
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.
Code looks ok, but would prefer another pair of 👀 to have a look as well.
7728544
to
5311faf
Compare
5311faf
to
607f032
Compare
60902ed
to
7fd600b
Compare
This issue is in "needs review" but there has been no activity for 7 days. ping @matomo-org/core-reviewers |
7fd600b
to
e1fed6a
Compare
d88dcc7
to
f27a0fb
Compare
This PR was last updated more than one month ago, maybe it's time to close it. Please check if there is anything we still can do or close this PR. ping @matomo-org/core-reviewers |
4e261e3
to
81ebc39
Compare
81ebc39
to
2d18aeb
Compare
Description:
When archiving is running, we are basically processing invalidations that were previously created.
To ensure that every processed invalidation already has all required data available, we perform certain checks to avoid that e.g. a week archive is processed when a day archives of that week is still processed. Similar checks are applied for segment processing.
Currently the check for other archiving jobs that might process an invalidation for an intersecting period (or segment) is performed by checking the running multicli processes. This might work fine if a single machine is performing the archiving. But as soon as there are multiple servers performing the archiving, this detection would fail, causing intersecting periods being archived in parallel.
By looking into the invalidation table instead of checking running processes, we can ensure that running jobs are detected across multiple machines.
It though carries the risk of making detection of failed archiving jobs bit worse. We will work on further improvements for this separately.
Refs DEV-18290
Review