Skip to content
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

Ignore overwrite subtable warning for summary rows for old data to avoid re-archiving for a single row #17891

Merged
merged 5 commits into from Aug 20, 2021

Conversation

diosmosis
Copy link
Member

Description:

… to avoid re-archiving for a single row most users do not look at.

Two bugs related to serialization of summary rows w/ subtables were fixed in 4.4.1. Old data will still have missing or broken subtable links, however, and we don't want to have to re-archive everything for a single row no one looks at. Especially for users that have this issue, since this only occurs on high volume setups. So instead, we're ignoring it here.

If a user wants this data, they can invalidate and rearchive a period to have it display.

Review

  • Functional review done
  • Potential edge cases thought about (behavior of the code with strange input, with strange internal state or possible interactions with other Matomo subsystems)
  • Usability review done (is anything maybe unclear or think about anything that would cause people to reach out to support)
  • Security review done see checklist
  • Code review done
  • Tests were added if useful/possible
  • Reviewed for breaking changes
  • Developer changelog updated if needed
  • Documentation added if needed
  • Existing documentation updated if needed

@diosmosis diosmosis added the Needs Review PRs that need a code review label Aug 16, 2021
@diosmosis diosmosis added this to the 4.5.0 milestone Aug 16, 2021
@sgiehl
Copy link
Member

sgiehl commented Aug 16, 2021

Seems one test is failing due to this changes.

Btw. is there any issue related to this?

@diosmosis
Copy link
Member Author

@sgiehl L3-126

@sgiehl
Copy link
Member

sgiehl commented Aug 16, 2021

@diosmosis the code actually looks quite cloud related. Is that relevant for other installations as well? If so guess the date wouldn't be correct as we can't know when someone updated to 4.4.1

@diosmosis
Copy link
Member Author

@sgiehl this is discussed in the L3 issue.

@diosmosis
Copy link
Member Author

@sgiehl actually, no that's the wrong L3 issue, it's L3-85. Sorry about that.

@diosmosis
Copy link
Member Author

Don't merge, doesn't quite work

@sgiehl
Copy link
Member

sgiehl commented Aug 17, 2021

@diosmosis I'll remove the needs review label for now. Feel free to add it again, once you are finished with fixing the PR.

@sgiehl sgiehl removed the Needs Review PRs that need a code review label Aug 17, 2021
@diosmosis
Copy link
Member Author

@sgiehl latest change appears to have stopped the issue

@diosmosis diosmosis added the Needs Review PRs that need a code review label Aug 17, 2021
Copy link
Member

@sgiehl sgiehl left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Even though the code might be more cloud related, I guess it should be good to merge.
@diosmosis Can we maybe remove that check again somewhen in the future? Wondering if it might make sense to add that in the comment then, so we maybe remove it in half a year or so? Or we could add a test to remove isStartDateLaterThanCloud441DeployDate after a certain date.

@diosmosis
Copy link
Member Author

@sgiehl

Can we maybe remove that check again somewhen in the future?

No, it can't be removed, unless people who are affected by the issue (who have to be high traffic enough to trigger ranking query limits) decide to rearchive all or most past data. Which is not desirable.

@sgiehl
Copy link
Member

sgiehl commented Aug 18, 2021 via email

@diosmosis
Copy link
Member Author

diosmosis commented Aug 18, 2021

But wouldn't this then still be triggered on an instance that was updated after the cloud deploy date?

No, we're using the period start date now. This was the change in the latest commit.

@sgiehl
Copy link
Member

sgiehl commented Aug 19, 2021

But shouldn't we use the release date then? Guess someone could have updated earlier than the deploy date?

@diosmosis
Copy link
Member Author

@sgiehl

But shouldn't we use the release date then? Guess someone could have updated earlier than the deploy date?

They could have but given we have not seen any complaints in this regard from users and these issues appear to have been around for a long time, maybe years and only affects high volume users who are most likely a smaller portion of non-cloud or non-on-premise users, we're not overly concerned with them. It might be nice to only add this for cloud, but that is not possible without an event which would degrade performance significantly for such a core method.

Note: this is all in the L3 issue, please read the entire discussion there so we can avoid this constant back and forth and so I don't have to repeat myself.

@tsteur
Copy link
Member

tsteur commented Aug 19, 2021

Was gonna merge @diosmosis but not sure if eg this test https://app.travis-ci.com/github/matomo-org/matomo/jobs/531901169#L860 is failing because of this PR? or maybe it's unrelated. Be good to check the tests and then merge 🎉 great to have this fix

@diosmosis
Copy link
Member Author

@tsteur I think that might be random... it's strange since the number of blobs in the output above doesn't change. I'll change it for now.

@diosmosis diosmosis merged commit 962442c into 4.x-dev Aug 20, 2021
@diosmosis diosmosis deleted the l3-126-ignore-old-data branch August 20, 2021 00:24
@justinvelluppillai justinvelluppillai changed the title Ignore overwrite subtable warning for summary rows for old data… Ignore overwrite subtable warning for summary rows for old data to avoid re-archiving for a single row Oct 6, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Needs Review PRs that need a code review
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants