Page MenuHomePhabricator

Allow assigning each user to a specific php engine by setting a PHP_ENGINE cookie
Closed, ResolvedPublic

Description

We will do the same thing we did in the past:

  • Extract a seed for each user, store it in a cookie we persist for 60 days
  • Based on that and sampling configuration, decide if we need to set the PHP_ENGINE cookie to a specific value and store it for a week,
  • Check with every request if the PHP_ENGINE cookie should be reset

See a past implementation here https://gerrit.wikimedia.org/r/c/mediawiki/extensions/WikimediaEvents/+/508172/5/modules/all/ext.wikimediaEvents.php7.js

Related Objects

StatusSubtypeAssignedTask
ResolvedNone
ResolvedJdforrester-WMF
ResolvedJdforrester-WMF
ResolvedJdforrester-WMF
ResolvedJdforrester-WMF
Resolved toan
ResolvedLucas_Werkmeister_WMDE
ResolvedJoe
ResolvedJdforrester-WMF
ResolvedLadsgroup
InvalidNone
ResolvedReedy
OpenNone
Resolvedtstarling
ResolvedJdforrester-WMF
ResolvedPRODUCTION ERRORLegoktm
Resolvedtstarling
ResolvedJoe
ResolvedKrinkle

Event Timeline

Important detail: we can either split the caches at the varnish layer as we did in the past, or just don't bother and just live with the small amount of breakages we might encounter. I'm open to both options of course.

Joe triaged this task as High priority.Jun 27 2022, 9:09 AM

Change 818481 had a related patch set uploaded (by Giuseppe Lavagetto; author: Giuseppe Lavagetto):

[mediawiki/extensions/WikimediaEvents@master] Add the ability to sample users to use php 7.4

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

Change 818481 merged by jenkins-bot:

[mediawiki/extensions/WikimediaEvents@master] phpEngine: Add the ability to sample users to use php 7.4

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

Change 822682 had a related patch set uploaded (by Krinkle; author: Krinkle):

[mediawiki/extensions/WikimediaEvents@master] phpEngine: Add sticky option

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

Change 822682 merged by jenkins-bot:

[mediawiki/extensions/WikimediaEvents@master] phpEngine: Add sticky option

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

Change 824204 had a related patch set uploaded (by Krinkle; author: Krinkle):

[mediawiki/extensions/WikimediaEvents@master] phpEngine: Actually include the phpEngine.js file

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

Change 824213 had a related patch set uploaded (by Phuedx; author: Phuedx):

[mediawiki/extensions/WikimediaEvents@master] ext.wikimediaEvents: require() phpEngine module

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

Change 824213 abandoned by Phuedx:

[mediawiki/extensions/WikimediaEvents@master] ext.wikimediaEvents: require() phpEngine module

Reason:

See I953140817c7939f8fdc68f7fad70946dd5bf930e

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

Change 824204 merged by jenkins-bot:

[mediawiki/extensions/WikimediaEvents@master] phpEngine: Actually include the phpEngine.js file

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