Page MenuHomePhabricator

scap: Investigate scaps handling of InitialiseSettings.php
Closed, ResolvedPublic

Description

Scap should touch InitialiseSettings.php after most basic deployments; however, there have been several incidents where a subsequent manual touch of InitialiseSetings.php on tin and a resync of that file have created or fixed new errors.

This happened after the promotion of the train on 2017-05-25 when there were no errors from the promotion of a new version until a subsequent sync of InitialiseSettings.php. And I've seen it happen once recently previously when CommonSettings.php was loudly complaining about a missing variable that was present on all app servers.

I think the expected behavior is to always touch InitialiseSettings.php unless the sync is explicitly a --beta-only-change.

Event Timeline

thcipriani triaged this task as Medium priority.May 26 2017, 1:29 PM
thcipriani moved this task from Needs triage to Debt on the Scap board.

Cf {D654} wherein I want to remove the idea of --beta-only-change as well.

Note that there is a filemtime( "InitialiseSettings.php" ) in https://phabricator.wikimedia.org/source/mediawiki-config/browse/master/wmf-config/CommonSettings.php;3d7a96ad4d39b09960f4c212109ff7e129cdc712$159. I guess it explains why touching InitialiseSettings.php triggered the beginning of the performance issues, possibly some feature flag or parameter was activated at this time. (I didn’t read in details the post-mortem itself.)

thcipriani reassigned this task from thcipriani to demon.

Now that D654 is landed all of the sync-* commands should always touch InitialiseSettings.php. It seems that we don't worry so much about T103886 this should be the correct behavior. This will roll with scap 3.6.0-1