Closed tsenart closed 7 months ago
FYI some of the original inspiration for how repo-updater's git scheduler was how phabricator does mirrored repos. (The simple heuristic). Phabricator stores the queue and state in the DB. I would encourage you to take a look at the code for some inspiration (and readable PHP code :P )
@keegancsmith @tsenart I've made a first pass at documenting the current responsibilities of repo-updater here (Under the Problem heading): https://docs.google.com/document/d/1Zvv9XqD6qH-Kmte5n0IPuPosUx4fblzsQFGi3kGmu8Y/edit
Is there anything I've missed?
Is there anything I've missed?
Commenting on the RFC.
Dear all,
This is your release captain speaking. 🚂🚂🚂
Branch cut for the 3.18 release is scheduled for tomorrow.
Is this issue / PR going to make it in time? Please change the milestone accordingly. When in doubt, reach out!
Thank you
Context
RFC191 has been written and this ticket details the implementation level issues that need to be completed roughly in the correct order.
Tasks
Scaffolding to allow second instance
code-host-syncer
RFC 191 Implementation
The following could be done concurrently:
[ ] Implement db backed repo sync queue
/enqueue-repo-update
can be removed and client will talk directly to db/repo-update-scheduler-info
can be removed and client will talk directly to db[ ] DB backed changeset syncer
/enqueue-changeset-sync
can be removed and client will talk directly to db[ ] DB backed permission syncing
/schedule-perms-sync
can be removed and client will talk directly to dbOther ideas
(These are here from the original issue description so leaving them around for some context)
SyncSubset
rather than aggregating all repos in memory and then making aNewDiff
.