[Bug 411409] update publishing to download.opensuse.org is not atomic
http://bugzilla.novell.com/show_bug.cgi?id=411409 User poeml@novell.com added comment http://bugzilla.novell.com/show_bug.cgi?id=411409#c7 Peter Poeml <poeml@novell.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEEDINFO |ASSIGNED Info Provider|poeml@novell.com | --- Comment #7 from Peter Poeml <poeml@novell.com> 2009-10-07 14:33:40 MDT --- (In reply to comment #6)
touching a lockfile somewhere inside the tree is of course doable. I'd prefer "opensuse-ftp/pub/opensuse" however since that's the base path for the this ftp-server and I would not have to play too many tricks.
I'd be using lockfiles like "putpatch.running" and "putpatch-publictest.running"
but before I add code ... can you explain that race condition more closely ?
The first sync (packages only) ran while putpatch had not started (and the packages were not there yet); and the second sync (metadata only) ran when putpatch was completely done. Thus, download.o.o pulled only the metadata.
are you saying there is a double sync running where the second one only looks at metadata ?
Yes. The sequence is: # first, don't fetch the metadata, otherwise metadata will reference to # packages which don't exist locally yet. rsync -a -hi --chmod=g-ws -T /srv/rsync-arrival --max-delete=400 --delete-after --exclude '.nfs*' --exclude repoparts/ --exclude repodata/ SRC DST # then fetch repodata. Exclusion of rpm/ should make this run pretty fast rsync -a -hi --chmod=g-ws -T /srv/rsync-arrival --max-delete=400 --delete-after --exclude '.nfs*' --exclude repoparts/ --exclude rpm/ SRC DST # same is repeated for debuginfos (The respective script runs under a lock so it doesn't run more than once.) Ideally, the script should run only when there's no movement in the tree on the upstream host. I won't have time to continue working on this, but I wanted to document this at least and answer your question. Feel free to close. If further problems arise, a fix as sketched above should be able to terminate them. -- Configure bugmail: http://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
participants (1)
-
bugzilla_noreply@novell.com