On Wed, Jan 27, 2016 at 2:17 AM, Ori Livneh <ori(a)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.