Use dedicated cookie for skipping CDN cache after initiating DB changes
authorAaron Schulz <aschulz@wikimedia.org>
Wed, 23 Dec 2015 20:50:59 +0000 (12:50 -0800)
committerAaron Schulz <aschulz@wikimedia.org>
Wed, 23 Dec 2015 20:50:59 +0000 (12:50 -0800)
This sets a short lived cookie that more robustly takes on the role that the
session initiation in SubmitAction has. It can be used via Varnish VCL.

Bug: T121440
Change-Id: I6214a0bce4e8bbbecbc3f9513e7c852285b4a9db

includes/MediaWiki.php

index 3b5a1b1..c00be95 100644 (file)
@@ -567,7 +567,9 @@ class MediaWiki {
                $request = $context->getRequest();
                if ( $request->wasPosted() && $factory->hasOrMadeRecentMasterChanges() ) {
                        $expires = time() + $config->get( 'DataCenterUpdateStickTTL' );
-                       $request->response()->setCookie( 'UseDC', 'master', $expires, array( 'prefix' => '' ) );
+                       $options = array( 'prefix' => '' );
+                       $request->response()->setCookie( 'UseDC', 'master', $expires, $options );
+                       $request->response()->setCookie( 'UseCDNCache', 'false', $expires, $options );
                }
 
                // Avoid letting a few seconds of slave lag cause a month of stale data