-
Notifications
You must be signed in to change notification settings - Fork 176
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
optimize garabge collection command #4808
optimize garabge collection command #4808
Conversation
ContentNode.objects.values_list('id', 'main_tree__tree_id') | ||
) | ||
|
||
logging.debug("Queries after creating channel tree ID map: %s", connection.queries) |
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.
We need settings.DEBUG = True to get the queries printed.
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.
Sorry it seems there was some confusion with my last feedback. We should be able to use non_public_channels_sole_editor
to iterate over its tree ID's, instead of looping over all channels
# our garbage collection delete the nodes and underlying file. | ||
channel_tree_id_map = dict( | ||
Channel.objects.values_list('id', 'main_tree__tree_id') | ||
) |
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.
Ah this is a lot of channels! I meant iterating over the tree_id
using non_public_channels_sole_editor
. This won't work well either
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.
oh yes, my apologies now I see it that was an unnecessary overhead!
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 think this should work a lot better! Thanks @ozer550
Summary
Restructure the way we run the query while deleting user_related data to stop the garbage_collection command from stalling.
Description of the change(s) you made
How can a reviewer test these changes?
Are there any risky areas that deserve extra testing?
References
closes #4780
Comments
We need to have the settings.DEBUG=True to log the queries.
Contributor's Checklist
PR process:
CHANGELOG
label been added to this PR. Note: items with this label will be added to the CHANGELOG at a later timedocs
label has been added if this introduces a change that needs to be updated in the user docs?requirements.txt
files also included in this PRStudio-specifc:
notranslate
class been added to elements that shouldn't be translated by Google Chrome's automatic translation feature (e.g. icons, user-generated text)pages
,components
, andlayouts
directories as described in the docsTesting:
Reviewer's Checklist
This section is for reviewers to fill out.
yarn
andpip
)