launchpad-reviewers team mailing list archive
-
launchpad-reviewers team
-
Mailing list archive
-
Message #05235
[Merge] lp:~stub/launchpad/replication into lp:launchpad
Stuart Bishop has proposed merging lp:~stub/launchpad/replication into lp:launchpad.
Requested reviews:
Launchpad code reviewers (launchpad-reviewers)
Related bugs:
Bug #307407 in Launchpad itself: "slave database should never be used when lag is too great"
https://bugs.launchpad.net/launchpad/+bug/307407
Bug #345835 in Launchpad itself: "Database load balancing should use slave lag, not cluster lag"
https://bugs.launchpad.net/launchpad/+bug/345835
Bug #447453 in Launchpad itself: "Changes made through the API (via javascript) aren't blacklisting the Slave DBs"
https://bugs.launchpad.net/launchpad/+bug/447453
Bug #461800 in Launchpad itself: "new-slave.py no longer works"
https://bugs.launchpad.net/launchpad/+bug/461800
Bug #504696 in Launchpad itself: "Replication lag checks can block"
https://bugs.launchpad.net/launchpad/+bug/504696
Bug #504751 in Launchpad itself: "Standalone slave not subscribed to the authdb replication set"
https://bugs.launchpad.net/launchpad/+bug/504751
Bug #504807 in Launchpad itself: "authdb replication set sequence values not being restored on staging"
https://bugs.launchpad.net/launchpad/+bug/504807
Bug #514267 in Launchpad itself: "InternalError on clusters under busy load"
https://bugs.launchpad.net/launchpad/+bug/514267
For more details, see:
https://code.launchpad.net/~stub/launchpad/replication/+merge/79207
= Summary =
The list of tables in a replication set is only valid on a node that replicates that replication set.
== Proposed fix ==
Query the origin for the replication set, rather than the cluster 'master' which is actually a fiction.
== Pre-implementation notes ==
== Implementation details ==
== Tests ==
== Demo and Q/A ==
= Launchpad lint =
Checking for conflicts and issues in changed files.
Linting changed files:
lib/lp/soyuz/scripts/initialize_distroseries.py
lib/lp/app/browser/launchpadform.py
lib/lp/registry/stories/person/xx-person-bugs.txt
lib/lp/bugs/interfaces/apportjob.py
lib/lp/translations/doc/vpotexport.txt
lib/lp/registry/browser/tests/test_team_view.py
lib/lp/bugs/doc/security-teams.txt
lib/lp/soyuz/scripts/tests/test_initialize_distroseries.py
lib/lp/translations/browser/configure.zcml
lib/lp/app/javascript/tests/test_lp_client.js
scripts/ftpmaster-tools/archive-integrity-check.py
database/sampledata/current.sql
database/sampledata/current-dev.sql
lib/lp/translations/interfaces/translationmessage.py
lib/lp/registry/model/projectgroup.py
lib/lp/registry/doc/distribution.txt
lib/lp/soyuz/stories/ppa/xx-ppa-workflow.txt
lib/lp/archivepublisher/publishing.py
lib/lp/registry/model/productseries.py
lib/lp/archivepublisher/tests/test_generate_contents_files.py
lib/lp/translations/scripts/tests/test_cache_suggestive_templates.py
lib/lp/code/stories/branches/xx-branch-deletion.txt
lib/lp/translations/interfaces/potmsgset.py
lib/lp/code/browser/branch.py
lib/lp/code/model/branchcollection.py
lib/lp/code/mail/tests/test_branch.py
lib/lp/archivepublisher/tests/test_publisher.py
lib/lp/bugs/doc/initial-bug-contacts.txt
lib/lp/registry/browser/team.py
lib/lp/translations/tests/test_pofile.py
lib/lp/code/model/tests/test_branchjob.py
lib/lp/registry/tests/test_initderiveddistroseries.py
database/schema/upgrade.py
lib/lp/code/browser/tests/test_branch.py
lib/lp/bugs/doc/bugsubscription.txt
lib/devscripts/ec2test/account.py
versions.cfg
lib/lp/code/mail/branchmergeproposal.py
lib/lp/bugs/templates/bugcomment-macros.pt
utilities/pgmassacre.py
lib/lp/registry/configure.zcml
lib/lp/code/browser/codeimport.py
lib/lp/code/enums.py
lib/lp/services/longpoll/configure.zcml
lib/lp/translations/browser/distribution.py
lib/lp/bugs/tests/test_bugtaskset.py
lib/lp/registry/browser/tests/productseries-setbranch-view.txt
lib/lp/app/javascript/client.js
database/replication/generate_migration.py
database/replication/helpers.py
lib/lp/bugs/javascript/tests/test_async_comment_loading.js
lib/lp/blueprints/configure.zcml
lib/lp/code/mail/tests/test_branchmergeproposal.py
lib/lp/scripts/garbo.py
lib/lp/code/mail/branch.py
lib/lp/bugs/stories/webservice/xx-bug.txt
lib/canonical/launchpad/webapp/batching.py
lib/lp/app/templates/base-layout-macros.pt
lib/lp/app/interfaces/launchpad.py
lib/lp/blueprints/tests/test_webservice.py
lib/lp/soyuz/scripts/ftpmaster.py
lib/lp/translations/browser/tests/test_productserieslanguage_views.py
lib/lp/translations/model/pofile.py
lib/lp/registry/stories/distribution/xx-distribution-launchpad-usage.txt
lib/lp/translations/browser/tests/test_baseexportview.py
lib/lp/scripts/tests/test_garbo.py
lib/lp/bugs/interfaces/tests/__init__.py
lib/lp/services/longpoll/adapters/tests/test_storm.py
lib/lp/code/templates/codeimport-new.pt
lib/lp/bugs/javascript/bugtask_index.js
lib/lp/answers/model/questionjob.py
lib/lp/translations/doc/pofile.txt
lib/lp/translations/browser/tests/test_distroserieslanguage_views.py
lib/lp/code/stories/codeimport/xx-create-codeimport.txt
lib/lp/translations/tests/test_shared_potemplate.py
lib/lp/translations/browser/tests/test_translationimportqueueentry.py
lib/lp/app/widgets/doc/launchpad-radio-widget.txt
lib/lp/registry/browser/productseries.py
lib/lp/translations/browser/tests/test_translationlinksaggregator.py
lib/lp/registry/interfaces/projectgroup.py
lib/lp/answers/interfaces/questionjob.py
lib/lp/services/features/flags.py
lib/lp/code/templates/branch-import-details.pt
lib/lp/bugs/interfaces/bugtarget.py
lib/lp/bugs/doc/bug-heat.txt
lib/lp/translations/browser/tests/translationmessage-views.txt
lib/lp/services/mail/sendmail.py
lib/lp/registry/interfaces/person.py
lib/lp/translations/scripts/translations_to_branch.py
lib/lp/code/model/tests/test_branchcollection.py
lib/lp/registry/model/product.py
lib/lp/services/longpoll/adapters/storm.py
lib/lp/code/stories/branches/xx-creating-branches.txt
scripts/ftpmaster-tools/_syncorigins.py
lib/lp/bugs/interfaces/tests/test_bugtask.py
lib/lp/code/stories/branches/xx-junk-branches.txt
lib/lp/registry/tests/test_service_usage.py
lib/lp/registry/browser/tests/distribution-views.txt
lib/lp/bugs/tests/test_apportjob.py
lib/canonical/launchpad/database/launchpadstatistic.py
lib/lp/translations/model/translationsperson.py
lib/lp/translations/model/potmsgset.py
lib/lp/registry/browser/tests/test_person_view.py
lib/lp/blueprints/model/specificationbug.py
lib/canonical/launchpad/rest/__init__.py
lib/lp/registry/browser/person.py
lib/lp/registry/model/person.py
lib/lp/code/model/tests/test_revision.py
lib/lp/translations/interfaces/hastranslationtemplates.py
lib/lp/translations/doc/potmsgset.txt
lib/lp/bugs/model/tests/test_bugtask_status.py
lib/lp/registry/browser/distribution.py
lib/lp/code/templates/codeimport-list.pt
lib/lp/bugs/model/bugtask.py
lib/lp/translations/model/potemplate.py
lib/canonical/launchpad/interfaces/_schema_circular_imports.py
lib/lp/registry/model/distribution.py
lib/lp/registry/stories/webservice/xx-derivedistroseries.txt
lib/lp/translations/browser/tests/test_product_view.py
lib/lp/bugs/interfaces/bugtask.py
lib/lp/translations/model/translationmessage.py
lib/lp/translations/stories/standalone/xx-series-templates.txt
lib/lp/bugs/templates/bugtask-index.pt
lib/lp/answers/tests/test_questionjob.py
lib/lp/code/templates/branch-form-macros.pt
lib/lp/translations/templates/pofile-filter.pt
lib/lp/translations/browser/potemplate.py
lib/lp/blueprints/interfaces/specification.py
lib/lp/blueprints/interfaces/specificationbug.py
lib/lp/registry/browser/tests/test_productseries_views.py
lib/lp/registry/templates/productseries-codesummary.pt
== Schema ==
database/sampledata/current.sql
database/sampledata/lintdata.sql differs from database/sampledata/current.sql.
Patches to the schema, or manual edits to database/sampledata/current.sql
do not match the dump of the launchpad_ftest_template database.
If database/sampledata/lintdata.sql is correct, copy it to
database/sampledata/current.sql.
Otherwise update database/sampledata/current.sql and run:
make schema
make newsampledata
cd database/sampledata
cp newsampledata.sql database/sampledata/current.sql
Run make schema again to update the test/dev database.
database/sampledata/current.sql
database/sampledata/lintdata-dev.sql differs from database/sampledata/current-dev.sql.
Patches to the schema, or manual edits to database/sampledata/current-dev.sql
do not match the dump of the launchpad_dev_template database.
If database/sampledata/lintdata-dev.sql is correct, copy it to
database/sampledata/current-dev.sql.
Otherwise update database/sampledata/current-dev.sql and run:
make schema
make newsampledata
cd database/sampledata
cp newsampledata-dev.sql database/sampledata/current-dev.sql
Run make schema again to update the test/dev database.
./lib/lp/soyuz/stories/ppa/xx-ppa-workflow.txt
278: want exceeds 78 characters.
./lib/lp/archivepublisher/tests/test_publisher.py
880: Line exceeds 78 characters.
928: Line exceeds 78 characters.
./database/schema/upgrade.py
13: '_pythonpath' imported but unused
./versions.cfg
66: Line exceeds 78 characters.
./lib/lp/registry/browser/tests/productseries-setbranch-view.txt
147: want exceeds 78 characters.
./database/replication/generate_migration.py
190: local variable 'origin_node' is assigned to but never used
13: '_pythonpath' imported but unused
19: 'config' imported but unused
65: E261 at least two spaces before inline comment
121: E231 missing whitespace after ','
161: E225 missing whitespace around operator
178: E225 missing whitespace around operator
./lib/lp/bugs/stories/webservice/xx-bug.txt
53: want exceeds 78 characters.
170: source exceeds 78 characters.
176: source exceeds 78 characters.
265: source exceeds 78 characters.
349: want exceeds 78 characters.
839: source exceeds 78 characters.
1152: want exceeds 78 characters.
1196: want exceeds 78 characters.
1319: want exceeds 78 characters.
1370: want exceeds 78 characters.
1625: source exceeds 78 characters.
1998: source exceeds 78 characters.
2108: want exceeds 78 characters.
./lib/lp/app/widgets/doc/launchpad-radio-widget.txt
1: narrative uses a moin header.
38: narrative uses a moin header.
./lib/lp/registry/browser/productseries.py
103: 'BugTaskStatus' imported but unused
./lib/lp/translations/scripts/translations_to_branch.py
39: 'lp' imported but unused
--
https://code.launchpad.net/~stub/launchpad/replication/+merge/79207
Your team Launchpad code reviewers is requested to review the proposed merge of lp:~stub/launchpad/replication into lp:launchpad.
Follow ups