Skip to content

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)