[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Gnu-arch-users] [BUG] tla cat-archive-log downloads .listing files
From: |
Aaron Bentley |
Subject: |
Re: [Gnu-arch-users] [BUG] tla cat-archive-log downloads .listing files unnecessarily |
Date: |
Wed, 08 Sep 2004 08:47:11 -0400 |
User-agent: |
Mozilla Thunderbird 0.5 (X11/20040309) |
Since tla has no exception handling mechanism, the only way to prevent
http 404/IO_PANIC etc. messages from being displayed is to verify that
user-supplied revision names actually exist before attempting to use them.
Matthieu Moy wrote:
It seems that tla downloads unnecessary .listing files when running
cat-archive-log:
$ strace tla cat-archive-log
address@hidden/xtla--jet--0.2--patch-100 | & grep GET
fcntl64(3, F_GETFD) = 0
This part looks like the initial connection setup:
write(3, "GET /arch/xtla/.listing HTTP/1.1"..., 134) = 134
write(3, "GET /arch/xtla/.listing HTTP/1.1"..., 134) = 134
write(3, "GET /arch/xtla/=meta-info/mirror"..., 143) = 143
write(3, "GET /arch/xtla/=meta-info/name H"..., 141) = 141
write(3, "GET /arch/xtla/=meta-info/http-b"..., 147) = 147
write(3, "GET /arch/xtla/=meta-info/signed"..., 151) = 151
What version of tla is this? It looks like earlier than 1.2.1. 1.2.1
and later shoul be a bit better than this.,
Make sure the category exists
write(3, "GET /arch/xtla/.listing HTTP/1.1"..., 134) = 134
write(3, "GET /arch/xtla/.listing HTTP/1.1"..., 134) = 134
make sure the branch exists
write(3, "GET /arch/xtla/xtla/.listing HTT"..., 139) = 139
write(3, "GET /arch/xtla/xtla/xtla--jet/.l"..., 149) = 149
make sure the version exists
write(3, "GET /arch/xtla/.listing HTTP/1.1"..., 134) = 134
write(3, "GET /arch/xtla/xtla/xtla--jet/xt"..., 174) = 174
write(3, "GET /arch/xtla/xtla/xtla--jet/xt"..., 174) = 174
write(3, "GET /arch/xtla/xtla/xtla--jet/xt"..., 183) = 183
write(3, "GET /arch/xtla/xtla/xtla--jet/xt"..., 169) = 169
tla knows exactly the location of the file. One single GET should be
sufficient here. (possibly followed by others in case of failure, to
get the diagnosis)
Since tla has no (yet) HTTP pipelining, this results in a considerable
performance loss: tla cat-archive-log takes 5 seconds to execute where
a wget on the right URL takes only 0.60 seconds!
If you screw up the URL, wget can only tell you 404. Arch will tell you
whether the revision, version, category or branch was wrong.
Aaron
--
Aaron Bentley
Director of Technology
Panometrics, Inc.