BugWatchUpdater.updateBugWatches() has silly transaction boundaries
Bug #538096 reported by
Graham Binns
This bug affects 1 person
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Launchpad itself |
Fix Released
|
High
|
Gavin Panella |
Bug Description
If you look at the main for loop in BugWatchUpdater
1. A transaction is begu.
2. We loop over the bug watches.
3. We loop over them *again* and:
a. Update their statuses
b. Import comments
c. Push comments
d. Add backlinks to the remote bug tracker
4. The transaction is commited.
This is beyond silly; we need saner transaction boundaries which don't (except where absolutely necessary) have network activity happening within them.
Related branches
lp:~allenap/launchpad/silly-transactions-bug-538096
- Graham Binns (community): Approve (code)
-
Diff: 2866 lines (+828/-477)32 files modifiedlib/canonical/launchpad/testing/systemdocs.py (+3/-0)
lib/lp/bugs/doc/checkwatches-batching.txt (+6/-1)
lib/lp/bugs/doc/checkwatches-cli-switches.txt (+12/-13)
lib/lp/bugs/doc/checkwatches.txt (+28/-24)
lib/lp/bugs/doc/externalbugtracker-bug-imports.txt (+1/-0)
lib/lp/bugs/doc/externalbugtracker-bugzilla-api.txt (+22/-5)
lib/lp/bugs/doc/externalbugtracker-bugzilla-lp-plugin.txt (+22/-6)
lib/lp/bugs/doc/externalbugtracker-bugzilla-oddities.txt (+1/-0)
lib/lp/bugs/doc/externalbugtracker-bugzilla.txt (+2/-0)
lib/lp/bugs/doc/externalbugtracker-comment-imports.txt (+27/-7)
lib/lp/bugs/doc/externalbugtracker-comment-pushing.txt (+19/-8)
lib/lp/bugs/doc/externalbugtracker-debbugs.txt (+4/-0)
lib/lp/bugs/doc/externalbugtracker-linking-back.txt (+6/-0)
lib/lp/bugs/doc/externalbugtracker-mantis-csv.txt (+2/-0)
lib/lp/bugs/doc/externalbugtracker-mantis.txt (+2/-0)
lib/lp/bugs/doc/externalbugtracker-roundup.txt (+2/-0)
lib/lp/bugs/doc/externalbugtracker-rt.txt (+2/-0)
lib/lp/bugs/doc/externalbugtracker-sourceforge.txt (+4/-0)
lib/lp/bugs/doc/externalbugtracker-trac-lp-plugin.txt (+14/-4)
lib/lp/bugs/doc/externalbugtracker-trac.txt (+2/-0)
lib/lp/bugs/doc/externalbugtracker.txt (+19/-41)
lib/lp/bugs/externalbugtracker/base.py (+2/-0)
lib/lp/bugs/externalbugtracker/bugzilla.py (+18/-0)
lib/lp/bugs/externalbugtracker/debbugs.py (+2/-0)
lib/lp/bugs/externalbugtracker/isolation.py (+65/-0)
lib/lp/bugs/externalbugtracker/mantis.py (+6/-1)
lib/lp/bugs/externalbugtracker/rt.py (+2/-0)
lib/lp/bugs/externalbugtracker/tests/test_isolation.py (+87/-0)
lib/lp/bugs/externalbugtracker/trac.py (+10/-0)
lib/lp/bugs/scripts/checkwatches.py (+422/-363)
lib/lp/bugs/scripts/tests/test_bugimport.py (+1/-0)
lib/lp/bugs/scripts/tests/test_checkwatches.py (+13/-4)
Changed in malone: | |
importance: | Undecided → High |
Changed in malone: | |
assignee: | nobody → Gavin Panella (allenap) |
status: | Triaged → In Progress |
Changed in malone: | |
milestone: | none → 10.03 |
Changed in malone: | |
status: | In Progress → Fix Committed |
tags: |
added: qa-ok removed: qa-needstesting |
Changed in malone: | |
status: | Fix Committed → Fix Released |
To post a comment you must log in.
Fixed in db-stable r9166 <http:// bazaar. launchpad. net/~launchpad- pqm/launchpad/ db-stable/ revision/ 9166>