On Wed, Jan 27, 2016 at 2:17 AM, Ori Livneh ori@wikimedia.org wrote:
Well, there is a way: you can edit /srv/mediawiki/wikiversions.php on mw1017 to change the mapping of wikis to branches, and set the X-Wikimedia-Debug header to ensure your request gets handled by mw1017. Making this more convenient would be very risky, because it would mean that two different versions of the code are transacting with data on shared storage backends, each with the presumption of being the only game in town. And this state could be triggered by anyone, with no !logging or coordination.
We really shouldn't be making the assumption that only a single version is running at any given time. We are moving towards gradual / canary deployments, with a portion of traffic hitting a new branch while the remainder hits the old branch. It's currently safe to assume that any version is the only game in town and it's only going to get worse.
Anyone who is currently operating on that kind of assumption is being reckless. Any time new code is changing assumptions about the structure of shared storage, it needs to be rigorously reviewed and carefully protected from premature release. Deployments aren't at all atomic now, as far as I know they never have been.
As a release engineer I see it as a failure on the part of my team if we allow code to go out without proper gating of potentially destructive or disruptive storage format changes.