The old unpublished ContentTranslation draft purge script keeps track of the timestamp of the newest draft it has sent a notification for.
However, this was written before we started running the script inside a loop for each wiki. The effect is that the timestamp gets more and more recent on each wiki where the script is run and where it find such drafts, and for the later wikis the notification period gets shorter and shorter, missing many drafts which should be notified. The reason for logging the timestamp is a protection feature to avoid sending multiple notifications when the script is running manually, or when the regular runs have overlapping notification periods.
Suggested fixes:
- Amend cx-notification-log table to include a wiki-id.
- Update script to use wiki-id: https://gerrit.wikimedia.org/r/c/mediawiki/extensions/ContentTranslation/+/628843
Deployment plan
- Test on CX cloud instances (Deployed on cx2-testing.wmflabs.org instance)
- Backward compatibility testing
- Deploy script + DB change testwiki (+ dry-run) (Do not run --actually)
- Deploy DB change in Wikishared and script on other WPs: https://phabricator.wikimedia.org/T284644 (+dry-run) (Do not run --actually)
- Test and make sure update.php is run after script is deployed.