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

Add support for cleaning up data from releases_json/release_assets #3013

Merged
merged 1 commit into from
Oct 16, 2023

Conversation

bhearsum
Copy link
Contributor

This was never implemented when we added these tables. Thankfully, the schemas are identical enough that the join/conditions we're using to cleanup releases works just as well here.

Even with this patch, nothing will happen immediately because I discovered that we nothing that runs the cleanup in cron since we migrated Balrog to GCP. My plan is:

  • Land this
  • Do some extra verification with a dry run in production
  • Run the cleanup by hand in production
  • Set-up a cronjob to run it on a regular basis

print(" - None")
else:
trans.execute("DELETE releases_json FROM releases_json" + query)
trans.execute("DELETE release_assets FROM release_assets" + query)
Copy link
Member

Choose a reason for hiding this comment

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

DoesDELETE FROM table_name WHERE condition work? Instead of DELETE table_name FROM table_name WHERE condition

Copy link
Contributor Author

Choose a reason for hiding this comment

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

As I understand it, when you're joining in a delete you must include the table name that you want to delete from (https://www.dofactory.com/sql/delete-join).

(I had to look this up when I was writing this, heh.)

Copy link
Contributor

@jcristau jcristau Oct 16, 2023

Choose a reason for hiding this comment

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

Looks like it's either DELETE tbl_name FROM tbl_name LEFT JOIN ... or DELETE FROM tbl_name USING tbl_name LEFT JOIN ..., when multiple tables are involved.
(https://dev.mysql.com/doc/refman/8.0/en/delete.html#idm45611665301776)

[Edit: link to mysql 8.0 doc instead of 5.7]

print(" - None")
else:
trans.execute("DELETE releases_json FROM releases_json" + query)
trans.execute("DELETE release_assets FROM release_assets" + query)
Copy link
Contributor

@jcristau jcristau Oct 16, 2023

Choose a reason for hiding this comment

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

Looks like it's either DELETE tbl_name FROM tbl_name LEFT JOIN ... or DELETE FROM tbl_name USING tbl_name LEFT JOIN ..., when multiple tables are involved.
(https://dev.mysql.com/doc/refman/8.0/en/delete.html#idm45611665301776)

[Edit: link to mysql 8.0 doc instead of 5.7]

@bhearsum bhearsum merged commit 6493a9e into mozilla-releng:main Oct 16, 2023
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants