Page MenuHomePhabricator

Deploy empty search AB test to all wikis
Closed, ResolvedPublic2 Estimated Story PointsBUG REPORT

Description

Background

  • This ticket is for deploying the AB test to all wikis an a TBD date (Wed Feb 26 probably).

Requirements

Verify sampling rate based on @jwang's sampling estimation
enwiki sampling: 50/50 bucketing, 100% sample
all other wiki sampling: 50/50 bucketing, 100% sample

TBD: Configuration to be provided. There will be a different configuration for English correct given size, and another configuration for other projects.

Requirement

Deploy the Empty Search A/B test to all wikis on the planned deployment date (TBD: likely Wed, Feb 26). Verify that the sampling rate follows the expected configuration:
• English Wikipedia (enwiki): 50% of users are bucketed into the experiment, 100% sample.
• All other wikis: 50% of users are bucketed into the experiment, 100% sample.

BDD

Feature: Deploy Empty Search A/B test to all wikis  

  Scenario: Verify sampling rate for English Wikipedia  
    Given the A/B test is deployed to English Wikipedia  
    When users perform a search  
    Then 50% of users should be bucketed into the experiment  

  Scenario: Verify sampling rate for all other wikis  
    Given the A/B test is deployed to all other wikis  
    When users perform a search  
    Then 50% of users should be bucketed into the experiment

Test Steps

Test Case 1: Verify sampling rate for English Wikipedia

  1. Visit English Wikipedia (en.wikipedia.org) in incognito mode to ensure a fresh bucket assignment.
  2. Open the developer console and run:
mw.loader.using('mediawiki.api').then(function () {
  new mw.Api().saveOption('eventlogging-display-console', '1');
});
  1. Perform a search in the search bar.
  2. Observe the event logs and check for an experiment-related event indicating bucketed into the experiment or not.
  3. Repeat steps 3-4 multiple times (at least 20 attempts) to confirm the 50% bucketing rate.
  4. AC1: Confirm that enwiki has a 50% bucketed rate with 100% sampling.

Test Case 2: Verify sampling rate for other wikis

  1. Visit a non-English Wikipedia wiki in incognito mode (e.g., fr.wikipedia.org, de.wikipedia.org).
  2. Open the developer console and run:
mw.loader.using('mediawiki.api').then(function () {
  new mw.Api().saveOption('eventlogging-display-console', '1');
});
  1. Perform a search in the search bar.
  2. Observe the event logs and check for an experiment-related event indicating bucketed into the experiment or not.
  3. Repeat steps 3-4 multiple times (at least 20 attempts) to confirm the 50% bucketing rate.
  4. AC2: Confirm that all other wikis have a 50% bucketed rate with 100% sampling.

QA Results - Prod

ACStatusDetails
1T386849#10615833
2T386849#10615833

Sign off steps

  • Make sure the deployment steps have been documented and the analyst knows which data to ignore as part of the A/B test due to bugs.

Event Timeline

Jdrewniak triaged this task as High priority.
Jdlrobson-WMF changed the task status from Open to In Progress.Feb 19 2025, 5:12 PM
Jdlrobson-WMF assigned this task to Jdrewniak.
Jdlrobson-WMF changed the task status from In Progress to Stalled.Feb 19 2025, 5:44 PM
Jdlrobson-WMF updated the task description. (Show Details)
Jdlrobson-WMF set the point value for this task to 2.

@Jdrewniak the plan is to deploy Wednesday. Do you think you could review this Tuesday 25th?

Change #1122680 had a related patch set uploaded (by Bernard Wang; author: Bernard Wang):

[operations/mediawiki-config@master] Deploy Search AB test to everywhere but English wiki

https://gerrit.wikimedia.org/r/1122680

Change #1122680 abandoned by Bernard Wang:

[operations/mediawiki-config@master] Deploy Search AB test to everywhere but English wiki

Reason:

in favor of https://gerrit.wikimedia.org/r/c/operations/mediawiki-config/+/1122684

https://gerrit.wikimedia.org/r/1122680

Change #1122684 had a related patch set uploaded (by Bernard Wang; author: Bernard Wang):

[operations/mediawiki-config@master] Deploy Search AB test to everywhere but English wiki

https://gerrit.wikimedia.org/r/1122684

bwang changed the task status from Stalled to In Progress.Feb 26 2025, 5:24 PM
bwang subscribed.

Per stand up today, @Jdrewniak will deploy today at the web team backport window

bwang changed the task status from In Progress to Stalled.Feb 27 2025, 3:49 PM

Back to stalled because of this bug https://phabricator.wikimedia.org/T387400

We discussed this and it's going to get done in the next sprint at earliest so moving out of this sprint.

Change #1122684 merged by jenkins-bot:

[operations/mediawiki-config@master] Deploy Search AB test to everywhere but English wiki

https://gerrit.wikimedia.org/r/1122684

Mentioned in SAL (#wikimedia-operations) [2025-03-04T22:08:21Z] <jdrewniak@deploy2002> Started scap sync-world: Backport for [[gerrit:1122684|Deploy Search AB test to everywhere but English wiki (T386849)]]

Mentioned in SAL (#wikimedia-operations) [2025-03-04T22:11:20Z] <jdrewniak@deploy2002> jdrewniak, bwang: Backport for [[gerrit:1122684|Deploy Search AB test to everywhere but English wiki (T386849)]] synced to the testservers (https://wikitech.wikimedia.org/wiki/Mwdebug)

Mentioned in SAL (#wikimedia-operations) [2025-03-04T22:21:56Z] <jdrewniak@deploy2002> Finished scap sync-world: Backport for [[gerrit:1122684|Deploy Search AB test to everywhere but English wiki (T386849)]] (duration: 13m 34s)

Status: ✅ PASS
Environment: Prod
OS: macOS
Browser: Chrome
Device: MS

Test Case 1: Verify sampling rate for English Wikipedia

  1. Visit English Wikipedia (en.wikipedia.org) in incognito mode to ensure a fresh bucket assignment.
  2. Open the developer console and run:
mw.loader.using('mediawiki.api').then(function () {
  new mw.Api().saveOption('eventlogging-display-console', '1');
});
  1. Perform a search in the search bar.
  2. Observe the event logs and check for an experiment-related event indicating bucketed into the experiment or not.
  3. Repeat steps 3-4 multiple times (at least 20 attempts) to confirm the 50% bucketing rate.
  4. ✅AC1: Confirm that enwiki has a 50% bucketed rate with 100% sampling.

I can confirm that with the small sample number I tried it was approximately 50/50.

screenshot 75.png (287×977 px, 79 KB)

screenshot 76.png (243×981 px, 77 KB)

Test Case 2: Verify sampling rate for other wikis

  1. Visit a non-English Wikipedia wiki in incognito mode (e.g., fr.wikipedia.org, de.wikipedia.org).
  2. Open the developer console and run:
mw.loader.using('mediawiki.api').then(function () {
  new mw.Api().saveOption('eventlogging-display-console', '1');
});
  1. Perform a search in the search bar.
  2. Observe the event logs and check for an experiment-related event indicating bucketed into the experiment or not.
  3. Repeat steps 3-4 multiple times (at least 20 attempts) to confirm the 50% bucketing rate.
  4. ✅AC2: Confirm that all other wikis have a 50% bucketed rate with 100% sampling.

I tried this on a number of wikis other than enwiki and it does appear that there's a near 50/50 split.

Edtadros updated the task description. (Show Details)
Edtadros subscribed.