-
-
Notifications
You must be signed in to change notification settings - Fork 2.7k
fix two issues with handling of processing dependent archives #20555
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
Conversation
…ting whether an archiving request is the root one or not as an instance property of Parameters does not work because when querying archive data for child periods, we will create entirely new instances. so instead, use a static variable 2) fix edge case where Goals initiates archiving far more than necessary when there are no conversions (so no data in goals reports) but there are visits (so archiving will still be executed). this issue is far more visible now since we aggregate one blob at a time, and thus query archive IDs once per report
…ting whether an archiving request is the root one or not as an instance property of Parameters does not work because when querying archive data for child periods, we will create entirely new instances. so instead, use a static variable 2) fix edge case where Goals initiates archiving far more than necessary when there are no conversions (so no data in goals reports) but there are visits (so archiving will still be executed). this issue is far more visible now since we aggregate one blob at a time, and thus query archive IDs once per report
@diosmosis looks like various tests started to fail. Might be good having those fixed before a review. |
…m:matomo-org/matomo into process-dependent-archive-recursion-fixes
php tests should be passing, UI test failures seem unrelated |
This issue is in "needs review" but there has been no activity for 7 days. ping @matomo-org/core-reviewers |
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.
Left a minor comment. Besides that the code looks fine.
…dependent archives (#20679) * fix two issues with handling of processing dependent archives: 1) setting whether an archiving request is the root one or not as an instance property of Parameters does not work because when querying archive data for child periods, we will create entirely new instances. so instead, use a static variable 2) fix edge case where Goals initiates archiving far more than necessary when there are no conversions (so no data in goals reports) but there are visits (so archiving will still be executed). this issue is far more visible now since we aggregate one blob at a time, and thus query archive IDs once per report * archive ecommerce even if there are no conversions * fix failing integration tests --------- Co-authored-by: Stefan Giehl <stefan@matomo.org>
Description:
Bugs fixed:
setting whether an archiving request is the root one or not as an instance property of Parameters does not work because when querying archive data for child periods, we will create entirely new instances (in CoreAdminHome\API::prepareArchive()). So instead, use a static variable. This properly prevents recursion here.
fix edge case where Goals initiates archiving far more than necessary when there are no conversions (so no data in goals reports) but there are visits (so archiving will still be executed). This was always an issue, but is is far more visible now since we aggregate one blob at a time, and thus query archive IDs once per report. So for every Goals report, we'd archive and try to process dependent archives, even though there are no conversions. And since there is no report data, nothing will be inserted, and we'll try to archive again when we move on to the next report.
Review