On Mon, Apr 13, 2009 at 11:09:37AM -0700, Alan Coopersmith wrote:
> Also, it is possible the client is getting confused because it
> downloaded the old catalog after the last modified date reported by
> http for the new catalog?   (Since it appears the last modified date
> reported by http is the date the build was initially published to RE's
> internal staging server, and not the day it was pushed to the external
> server - the Last Modified date reported by wget was
> 2009-03-31T02:34:59.962655 but the build wasn't pushed to pkg.os.o
> until April 7, so people who updated between 3/31 & 4/7 would have
> downloaded a catalog after the last modified date of the new catalog,
> but with older data in.)

This shouldn't be possible.  When the Last Modified date is generated by
RE, it is kept with a bunch of metadata.  There are other timestamps in
the incremental catalog update mechanism, the updatelog.  They all have
to stay consistent, which is why we don't update the timestamps when the
build is pushed externally.

The client doesn't change the Last Modified date that it receives from
the server.  In the example that you've given, any client that downloads
a catalog between 3/31 and 4/7 would receive a Last Modified timestamp
from the previous catalog. It will save that value.  When the new
catalog is pushed, it will have a timestamp that's newer than the one on
the previous catalog.  The Last Modified value is the last time the
server's catalog was modified, not the last time the client downloaded
the catalog.

All of that said, we seem to have recently encountered problems caused
by inexperienced depot maintainers.  They took some liberties when
copying files around and created an inconsistent set of metadata on the
repo.  There's some work left to do with respect to hardening both the
client and server against these problems.  It's also not possible to
recover intelligently from all cases metadata inconsistency.  Bug 8061
has the gory details for the case we saw last week.

-j
_______________________________________________
pkg-discuss mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/pkg-discuss

Reply via email to