Page MenuHomePhabricator

Revise and move PageSplitTester to Core
Open, NormalPublic


Wikibase is not an appropriate repository for a generic page split tester. This task tracks the effort to move the code from Wikibase to Core and also a few minor improvements:

  • A rename should be considered. Perhaps PageSplitter / PageSplitterTest? This might remove some ambiguity around whether PageSplitTester is for unit tests or production code but may decrease grep visibility for A/B or split test code.
  • Make the bucket order either more explicit or irrelevant. I had to carefully note the order used for config patches and calculate the page_random values for that given order.
  • Add documentation and examples (some of this lives in the tests), clarify what’s the same and what differs from client A/B tests, clarify that bucket assignments are monotonic.
  • Remove wikibase-debug reporting for PageRandomLookup. There don't seem to be any reports of bad values.
  • Revise PageRandomLookupTest to use an actual database instead of a gimpy mock.


Is there a nicer way for PageSplitTester users to obtain page_random than to manually use PageRandomLookup?

Acceptance criteria

  • No PageSplitTester / PageSplitTesterTest or PageRandomLookup / PageRandomLookupTest code, configuration, or strings in Wikibase
  • PageSplitTester (or whatever it's now called) exists in Core and can be used by any extension
  • Bucket order specified by the config is as clear and safe as possible
  • Documentation is revised and added where needed
  • PageRandomLookup doesn't report bad values
  • PageRandomLookupTest tests using a real database like other tests in MediaWiki

Event Timeline

Niedzielski triaged this task as Normal priority.Dec 5 2018, 11:55 PM
Niedzielski created this task.
Niedzielski updated the task description. (Show Details)Dec 5 2018, 11:59 PM
Niedzielski updated the task description. (Show Details)Dec 6 2018, 12:16 AM

Assuming this is about Wikibase Client hence adding project tag so this task can be found when searching for tasks related to Wikibase Client.

Restricted Application added a project: Wikidata. · View Herald TranscriptDec 6 2018, 12:22 PM