Last modified: 2013-11-20 04:20:34 UTC

Wikimedia Bugzilla is closed!

Wikimedia migrated from Bugzilla to Phabricator. Bug reports are handled in Wikimedia Phabricator.
This static website is read-only and for historical purposes. It is not possible to log in and except for displaying bug reports and their history, links might be broken. See T59280, the corresponding Phabricator task for complete and up-to-date bug report information.
Bug 57280 - Wikipedia Zero X-Forwarded-By, Cache Variance Optimizations
Wikipedia Zero X-Forwarded-By, Cache Variance Optimizations
Status: NEW
Product: MediaWiki extensions
Classification: Unclassified
ZeroPortal (Other open bugs)
unspecified
All All
: Unprioritized enhancement (vote)
: ---
Assigned To: Nobody - You can work on this!
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2013-11-20 04:15 UTC by dr0ptp4kt
Modified: 2013-11-20 04:20 UTC (History)
7 users (show)

See Also:
Web browser: ---
Mobile Platform: ---
Assignee Huggle Beta Tester: ---


Attachments

Description dr0ptp4kt 2013-11-20 04:15:27 UTC
The Wikipedia Zero Varnish configuration and MediaWiki extension modifies webpages to have banners providing attribution to carriers for their partnership on free data access for their subscribers. This technology also rewrites hyperlinks to prompt users in case they're entering into an action that could data charges. As this content is injected into server responses, object cache variance is introduced. Injection of content solely through JavaScript to prevent this sort of cache variance unfortunately wouldn't suffice due to the lower end phones with poor JavaScript support.

The solution for major further reduction of cache-varied objects, as presented at https://www.mediawiki.org/wiki/Requests_for_comment/Zero_Architecture, relies on several things, king among them use of Edge Side Includes (ESI) for banner serves. The code is mostly in place, but the ESI implementation is on the back burner due to some tech and personnel constraints.

While the ESI implementation is stalled, a need has been uncovered to further vary caches for things like source proxies - namely, the Opera Mini proxy. Some carriers support the Opera Mini proxy for zero-rating and some do not. The banners need to be served conformant with operator implementation.

The following change documents the case with Opera Mini (plus a "test) in Varnish that is required. As requested in the change commentary, this bug is being created for tracking purposes.

https://gerrit.wikimedia.org/r/#/c/88261/

Upon implementation of change 88261, the following change will be implemented for the app servers

https://gerrit.wikimedia.org/r/#/c/95050/

TODOs on this bug:

0) Lightweight analysis of the relative object growth for each additional source proxy (only Opera Mini is of consequence in the immediate near term; presumably ESI will alleviate major issues prior to introduction of further source proxies).

1) Implement ESI.

2) Centralize the X-Forwarded-By / Trusted X-Forwarded-For source IP addresses in cooperation with the Platform team to avoid unnecessary duplication of efforts.

Note You need to log in before you can comment on or make changes to this bug.


Navigation
Links