[Engineering] Proposal regarding the future of X-Wikimedia-Debug and testwiki

Mukunda Modell mmodell at wikimedia.org
Wed Jan 27 07:58:11 UTC 2016


This is very timely and relevant to a proposal I am currently working on.

Everything you have proposed seems sensible and benefitial to me. Since
you've breached the subject, I'm going to attempt to describe what I have
been wishing for. I was literally in the middle of writing it up when I saw
this email thread, so here it is, slightly pre-mature:

I'd like to extend the functionality of the wikimedia-debug header, or
perhaps augment it with a similar but slightly different capability. I
think it would be very useful to have a way to, in addition to
cache-busting, also force the request to be served from the pre-production
branch rather that the current production branch. This way changes on the
prod+1 branch can be conveniently tested on any wiki (not just testwiki)
while disregarding the version specified in wikiversions.

The X-Wikimedia-Debug header seems like the ideal way to implement this. If
the header accepted multiple values then the new behavior could easily be
implemented in The multiversion branch selection code, without affecting
the previous behavior.

I'd like to hear feedback on this further proposal. I intended to propose
this along with several related changes to multiversion and other relevant
technical debt repayment / code cleanup, however, this one probably stands
on it's own, especially in the context of what Ori has proposed.

On Monday, January 25, 2016, Alex Monk <alex at wikimedia.org> wrote:

> Trying again from a different address
>
> On 26 January 2016 at 01:04, Alex Monk <amonk at wikimedia.org
> <javascript:_e(%7B%7D,'cvml','amonk at wikimedia.org');>> wrote:
>
>> Forwarding to wikitech-l since this is not really specific to staff, but
>> all shell users.
>>
>> On 25 January 2016 at 20:39, Ori Livneh <ori at wikimedia.org
>> <javascript:_e(%7B%7D,'cvml','ori at wikimedia.org');>> wrote:
>>
>>> The X-Wikimedia-Debug header, for those of you who don't know, is an
>>> HTTP request header that you can set on your requests (either manually, or
>>> by using the Chrome[1] or Firefox[2] extensions). Requests bearing this
>>> header are always treated as cache misses by Varnish, and they are always
>>> routed to the same backend, mw1017.
>>>
>>> In addition to handling X-Wikimedia-Debug requests, mw1017 is also
>>> configured as the sole application server backend for all requests to
>>> test.wikimedia.org. This was set up before X-Wikimedia-Debug existed,
>>> and as a debugging tool it is (IMO) inferior to it, because
>>> X-Wikimedia-Debug allows you to test code changes against any production
>>> wiki.
>>>
>>> What I've seen happen before is developers (like me -- I've done this
>>> before) live-hack code on mw1017 to debug some issue that is only showing
>>> up in production. This can cause testwiki to break, which annoys developers
>>> and editors who use testwiki for testing things like Lua modules or editing
>>> functionality on mobile apps.
>>>
>>> To reduce contention for mw1017, I propose that we do the following:
>>>
>>> 1) Keep testwiki, but don't special-case it in Varnish
>>> (in other words, have testwiki requests go to the standard app server
>>> pool)
>>>
>>> 2) Reserve mw1017 exclusively for X-Wikimedia-Debug requests
>>>
>>> 3) Add a service alias (appservers-debug.svc.eqiad.wmnet) for mw1017 and
>>> update the varnish backend config to use that, rather than hard-code mw1017
>>> in VCL.
>>>
>>> Thoughts?
>>>
>>>  [1]:
>>> https://chrome.google.com/webstore/detail/wikimediadebug/binmakecefompkjggiklgjenddjoifbb?hl=en-US
>>>  [2]:
>>> https://addons.mozilla.org/en-US/firefox/addon/wikimedia-debug-header/
>>>
>>>
>>> _______________________________________________
>>> Engineering mailing list
>>> Engineering at lists.wikimedia.org
>>> <javascript:_e(%7B%7D,'cvml','Engineering at lists.wikimedia.org');>
>>> https://lists.wikimedia.org/mailman/listinfo/engineering
>>>
>>>
>> --
>> Alex Monk
>> VisualEditor/Editing team
>> https://wikimediafoundation.org/wiki/User:Krenair_(WMF)
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.wikimedia.org/pipermail/engineering/attachments/20160127/9a734e73/attachment.html>


More information about the Engineering mailing list