Shared locking in glock.py can't cope with unlink()s

Bug #156795 reported by Christian Reis
2
Affects Status Importance Assigned to Milestone
Launchpad itself
Triaged
Low
Unassigned
txpkgupload
Fix Released
Low
Colin Watson

Bug Description

We've run into a weird situation between process-upload and poppy (our ftp daemon) in which poppy thinks it has a valid lockfile when in fact it has been unlinked by process-upload. The situation right now is that process-upload removes the lockfile when it finishes running, but poppy doesn't. Our locking code should be robust enough to deal with this situation.

For now we're working around this by not removing lockfiles in both processes. Barry has suggested using mailman's locking code which may cope better with this situation. Alternatives are modifying glock.py to use os.open() supplying O_EXCL, but take into account that we need to cope with stale locks too.

Related branches

Revision history for this message
Christian Reis (kiko) wrote :
Changed in launchpad:
assignee: nobody → barry
Curtis Hovey (sinzui)
Changed in launchpad-foundations:
assignee: barry → nobody
importance: Undecided → Low
status: New → Triaged
Curtis Hovey (sinzui)
tags: added: tech-debt
Colin Watson (cjwatson)
Changed in txpkgupload:
status: New → Triaged
importance: Undecided → Low
Colin Watson (cjwatson)
Changed in txpkgupload:
assignee: nobody → Colin Watson (cjwatson)
status: Triaged → In Progress
Colin Watson (cjwatson)
Changed in txpkgupload:
status: In Progress → Fix Committed
Colin Watson (cjwatson)
Changed in txpkgupload:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.