@James: Yes, the chain of files probably need to be consistent, which likely means that client side smarts are more important.
For Etags, and rechecking that bug, the problem is that apache was using the inode, and that is different on every mirror, so round robin load balancing leads to caches pulling the content again. There was a suggestion in there to use
FileETag MTime Size
which would change appropriately. Remembering that:
- packages files never replace content, they only write new unique files.
- sources/packages/release contents do get replaced, but replacing them would change the mtime and thus the etag
The key bit from the other bug was 'if the rsync scripts are not preserving mtime, then I'd just turn off etags'. I'm concluding from that and that they are off that the mirror scripts don't preserve mtime?
@James: Yes, the chain of files probably need to be consistent, which likely means that client side smarts are more important.
For Etags, and rechecking that bug, the problem is that apache was using the inode, and that is different on every mirror, so round robin load balancing leads to caches pulling the content again. There was a suggestion in there to use packages/ release contents do get replaced, but replacing them would change the mtime and thus the etag
FileETag MTime Size
which would change appropriately. Remembering that:
- packages files never replace content, they only write new unique files.
- sources/
The key bit from the other bug was 'if the rsync scripts are not preserving mtime, then I'd just turn off etags'. I'm concluding from that and that they are off that the mirror scripts don't preserve mtime?
However, a quick unscientific check suggests they do: lifeless- 64:/tmp$ wget -S http:// archive. ubuntu. com/ubuntu/ dists/karmic- proposed/ main/dist- upgrader- all/0.126. 9/karmic. tar.gz. gpg 2>&1 | grep Last-Modified lifeless- 64:/tmp$ wget -S http:// archive. ubuntu. com/ubuntu/ dists/karmic- proposed/ main/dist- upgrader- all/0.126. 9/karmic. tar.gz. gpg 2>&1 | grep Last-Modified lifeless- 64:/tmp$ wget -S http:// au.archive. ubuntu. com/ubuntu/ dists/karmic- proposed/ main/dist- upgrader- all/0.126. 9/karmic. tar.gz. gpg 2>&1 | grep Last-Modified lifeless- 64:/tmp$ wget -S http:// us.archive. ubuntu. com/ubuntu/ dists/karmic- proposed/ main/dist- upgrader- all/0.126. 9/karmic. tar.gz. gpg 2>&1 | grep Last-Modified lifeless- 64:/tmp$ wget -S http:// eu.archive. ubuntu. com/ubuntu/ dists/karmic- proposed/ main/dist- upgrader- all/0.126. 9/karmic. tar.gz. gpg 2>&1 | grep Last-Modified
robertc@
Last-Modified: Mon, 02 Nov 2009 10:27:02 GMT
robertc@
Last-Modified: Mon, 02 Nov 2009 10:27:02 GMT
robertc@
Last-Modified: Mon, 02 Nov 2009 10:27:02 GMT
robertc@
Last-Modified: Mon, 02 Nov 2009 10:27:02 GMT
robertc@
Last-Modified: Mon, 02 Nov 2009 10:27:02 GMT
In which case we would be more correct with Etag MTime Size, than None.