User Mapping - User contributions relation performance enhancements
In !150158 (merged) user_contributions
are now exported are now exported as a new relation in Direct Transfer. A worker, UserContributionsExportWorker
, is enqueued and waits on all other exports to finish. As other export records are read, contributing user ids are cached, if there are any.
At the moment, UserContributionsExportWorker
waits on all exports, even though some relations are not required for user export. The UserContributionsExportWorker
could be made more efficient by skipping these relations.
Proposed Solution
In this MR, we will need to allow the UserContributionsExportWorker
to not check the statuses of relations that are not required for user exports, such as lfs
, uploads
, wiki
, and potentially others. Add a list of skipped relation names can be added to UserContributionsExportMapper
so we can check if all relations except the ones in the list have finished before exporting contributions. Additionally, do not cache contributing user IDs for these relations.
Open Questions
What other relations would be good to ignore for user exports? Potentially snippet repositories?
**Blocked by !150158 (merged)