Code review comment for lp:~cprov/launchpad/bug-430552-unblock-death-row

Revision history for this message
Celso Providelo (cprov) wrote :

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

= Summary =

This branch fixes https://bugs.edge.launchpad.net/bugs/430552.

The is a issue currently blocking `process-death-row` (p-d-r) in
production and increasing its backlog of removal-candidates, since
it's not able to remove files from pool/

After an investigation we discovered that p-d-r is failing due
because it trying to remove files that do not exist anymore.

The missing files (symlinks, in fact) could be gone by the following
reasons:

 * Someone butter-fingered the ubuntu archive disk trying to fix
   something else (only remotely possible, there are many broken
   files)

 * The last effective run of p-d-r was aborted during the DB update
   (quite possible, disk operations and updates are not atomic)

== Proposed fix ==

The fix for this problem is to deal with 'missing symlinks' as we deal
with 'missing files'.

It will be an *attempt* to remove what was already removed, somehow,
so should carry on and update the DB records as if we have
successfully removed the files from disk.

== Tests ==

./bin/test -vv -t TestDeathRow -t deathrow.txt

== Demo and Q/A ==

The best! Code is cowboyed in production and dealing with 200k records
backlog (ETA 5h).

= Launchpad lint =

Checking for conflicts. and issues in doctests and templates.
Running jslint, xmllint, pyflakes, and pylint.
Using normal rules.

Linting changed files:
  lib/lp/archivepublisher/deathrow.py
  lib/lp/soyuz/interfaces/publishing.py
  lib/lp/archivepublisher/diskpool.py
  lib/lp/archivepublisher/tests/test_deathrow.py
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)

iEYEARECAAYFAkq7ZvgACgkQ7KBXuXyZSjDw9ACgrP9P0ceJ38CB75+hX8GkmP0/
kogAnjmB5M46LfyxrUWwvNwVZSgMlQ9U
=xq9C
-----END PGP SIGNATURE-----

« Back to merge proposal