Matt Domsch wrote:
On Fri, Apr 24, 2009 at 11:48:16PM -0500, Matt Domsch wrote:
> On Fri, Apr 24, 2009 at 07:44:50PM -0500, Matt Domsch wrote:
>> If you see me monkey with u-m-d-l on bapp1, that's what I'm trying to
>> figure out...
> Found it...
>
> update-master-directory-list was trying to be smart and failed. If it
> saw that a directory's ctime hadn't changed, it skipped it and moved
> on. But, a directory's ctime won't change if one of its _subdirectories'
ctime_
> changes. Because u-m-d-l runs every 30 minutes or so, it appears to
> catch tree updates mid-flight. In one run it sees updates/10/x86_64/
> has changed, but that repodata/ under that has not (yet). So it
> marks updates/10/x86_64 as changed and moves on. On the next pass,
> updates/10/x86_64 of course _has not changed_, but it's repodata
> subdir has. This is what it was missing... It would skip processing
> the repodata subdir.
>
> (and yes, this would throw off the crawler too, which people have been
> complaining about being added and removed from the list somewhat
> randomly...)
>
> I'm working on a fix, which will involve changing
> update-master-directory-list. But that should be the only change.
This is the patch I want to apply on bapp1 to
update-master-directory-list. It ensures that changes in repodata/
directories are handled, even if the parent directories don't appear
to have changed. It still tries to be smart by not stat()ing files in
a directory which hasn't changed it's ctime.
Oh what I would give if inotify/dnotify worked on NFS...
Can I get some +1s?
We'll want this working by release no matter what so +1 to getting the
fix out there.
-Toshio