[Catalog-sig] pypi mirrors in bad shape

Christian Theune ct at gocept.com
Wed Jan 23 22:52:32 CET 2013


On 2013-01-16 15:41:00 +0000, Donald Stufft said:

> On Wednesday, January 16, 2013 at 4:43 AM, Jannis Leidel wrote:
> The mirror script was hanging on d, too. Since I've had to fix the 
> mirror every other month now I wonder if the pep381client is up to the 
> task. Does anyone have recommendations for fixing the situation? Is 
> there an easy way to monitor the client and kill it if it runs longer 
> than x?
> Should be able to use the timeout command.
> 
> timeout -k HARD_LIMIT SOFT_LIMIT /path/pep381client/pep381run -q /var/pypi

I used to run this with "timeout 5m pep381run" but it seems that the 
client really didn't like getting a SIGTERM.

Looking at the code there seems to be something special going on 
regarding handling KeyboardInterrupt so I switched to using "timeout -2 
5m …".

Still, I saw a weird problem and I'm suspicious that the client really 
doesn't always manage to write a consistent status file when being 
terminated.
For some reason I'm reinitializing my whole mirror after only a day.

I think I'm happy running Tarek's branch on the f mirror for now, but 
I'm not super sure about that …

My proposal would be to sit down at PyCon to dig a bit more into the 
code to make it more robust. My feeling is that the current client 
tries way to hard on a very low-level API (httplib) for a lot of 
mechanics. I'd be happy to refactor and provide tests, I think.

Also, a script to determine internal consistency and consistency 
compared to PyPI would be nice. Then again, the rsync idea might not be 
that far off regarding  the amount of work and the problems we're 
dealing with …

Christian




More information about the Catalog-SIG mailing list