further precache work
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Launchpad itself |
Fix Released
|
Medium
|
Stuart Bishop |
Bug Description
The Storm precache work in lib/canonical/
- It needs to move to a better location. canonical.
- It might be better named prejoin, which is the name of the SQLObject feature. I got confused when picking the name.
- It needs tests.
- We need to test that the PrejoinResultSet returns identical results to the unwrapped ResultSet for all the implemented methods.
- We need to test that it does what it is supposed to. Try issuing a query, killing the database connection so it will not reconnect, and accessing the attributes that should be in the cache.
Related branches
- Launchpad code reviewers: Pending requested
-
Diff: 2644 lines (+362/-446)44 files modifiedlib/canonical/launchpad/database/account.py (+7/-7)
lib/canonical/launchpad/database/stormsugar.py (+1/-19)
lib/canonical/launchpad/database/tests/test_stormextensions.py (+0/-101)
lib/canonical/launchpad/helpers.py (+45/-0)
lib/canonical/launchpad/vocabularies/dbobjects.py (+7/-2)
lib/canonical/launchpad/webapp/pgsession.py (+16/-14)
lib/canonical/launchpad/webapp/vocabulary.py (+5/-4)
lib/lp/archivepublisher/ftparchive.py (+15/-9)
lib/lp/bugs/model/bug.py (+25/-17)
lib/lp/bugs/model/bugtask.py (+13/-8)
lib/lp/bugs/model/bugwatch.py (+20/-24)
lib/lp/code/model/branch.py (+2/-2)
lib/lp/hardwaredb/model/hwdb.py (+17/-13)
lib/lp/registry/browser/distributionsourcepackage.py (+2/-1)
lib/lp/registry/doc/vocabularies.txt (+1/-1)
lib/lp/registry/model/distribution.py (+9/-8)
lib/lp/registry/model/distributionsourcepackage.py (+2/-4)
lib/lp/registry/model/person.py (+18/-33)
lib/lp/registry/model/pillar.py (+4/-1)
lib/lp/registry/model/projectgroup.py (+2/-3)
lib/lp/registry/model/sourcepackage.py (+2/-3)
lib/lp/registry/model/sourcepackagename.py (+3/-1)
lib/lp/registry/vocabularies.py (+15/-16)
lib/lp/scripts/garbo.py (+5/-5)
lib/lp/scripts/utilities/sanitizedb.py (+1/-1)
lib/lp/services/database/bulk.py (+1/-2)
lib/lp/services/worlddata/model/language.py (+5/-4)
lib/lp/soyuz/doc/gina.txt (+1/-1)
lib/lp/soyuz/doc/packageset.txt (+2/-2)
lib/lp/soyuz/model/archivepermission.py (+12/-13)
lib/lp/soyuz/model/binarypackagebuild.py (+2/-3)
lib/lp/soyuz/model/binarypackagename.py (+9/-5)
lib/lp/soyuz/model/distroarchseriesbinarypackage.py (+4/-10)
lib/lp/soyuz/model/packagediff.py (+5/-6)
lib/lp/soyuz/model/packageset.py (+17/-17)
lib/lp/soyuz/model/publishing.py (+22/-30)
lib/lp/soyuz/model/queue.py (+28/-40)
lib/lp/soyuz/scripts/initialise_distroseries.py (+3/-1)
lib/lp/translations/model/pofile.py (+1/-2)
lib/lp/translations/model/potemplate.py (+1/-2)
lib/lp/translations/model/translationimportqueue.py (+1/-2)
lib/lp/translations/scripts/migrate_variants.py (+9/-9)
setup.py (+1/-0)
versions.cfg (+1/-0)
- Jonathan Lange (community): Approve
- Christian Reis: Pending (release-critical) requested
- Diff: None lines
Changed in launchpad-foundations: | |
assignee: | nobody → Stuart Bishop (stub) |
milestone: | none → 2.2.6 |
status: | New → Triaged |
Changed in launchpad-foundations: | |
milestone: | 2.2.6 → 2.2.7 |
Changed in launchpad-foundations: | |
importance: | Undecided → Medium |
status: | Triaged → In Progress |
Changed in launchpad-foundations: | |
status: | Fix Committed → Fix Released |
Reverting edge and cleaning the production data is impractical.
I'll suggest downloading latest pytz (http:// pypi.python. org/packages/ source/ p/pytz/ pytz-2009j. tar.bz2) and installing on all the appservers:
mkdir -p /srv/staging. launchpad. net/lib/ python /srv/staging. launchpad. net/lib/ python /srv/staging. launchpad. net
export PYTHONPATH=
python2.4 setup.py install --home=
Then startup the appservers so they start with PYTHONPATH set to /srv/staging. launchpad. net/lib/ python.