Oh, I missed some things.  First off, a general timeline of rsync-gen
events (all times occur every hour at roughly specified minute after
the hour):

:00 / :30 - current state of git tree is checked out on git server and
then rsynced to private master rsync server - this is your cutoff time
for getting changes into the rsync-gen run
:06 / :36 - rsync-gen script starts
:09 / :39 (ish) - md5-cache generation and manifest thickening have
usually completed by this time; rsync-gen runs repoman manifest-check
across the whole tree at this time
:15 / :45 (ish) - By this time any failure in the repoman
manifest-check has surfaced, and if so, I (as well as others, mostly
infra) have been emailed about it
:20 / :50 (ish) - The final transfer from the staging directory to the
final directory has usually finished by this time, though that depends
heavily on how many changes were made since the last transfer (if you
break things and don't fix them for a while, this can be a lot)

At some point, the repoman manifest-check, or some variation of it,
will probably get added to a post-receive hook, which will then abort
your push if you try to push something that would break the conversion
process.  That said, you should still be doing your due diligence to
ensure that eventual hook doesn't yell at you.

And in case you're wondering why I get emailed about these failures, I
wrote the script that thickens Manifests, which does the entire tree
as parallel as possible in under a minute.  In addition, I improved
sizable portions of the rsync-gen script itself.  The code isn't
absolutely perfect (no code is), so I get emails about any failures so
I can see if it's something I need to fix with my code.  But it's been
a while since that's been the case, so all the failures these days are
primarily for the previously mentioned issues.

-Doug

Reply via email to