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.

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