BBlack has submitted this change and it was merged. ( 
https://gerrit.wikimedia.org/r/379199 )

Change subject: VCL: do not randomize backends for MISS2PASS traffic
......................................................................


VCL: do not randomize backends for MISS2PASS traffic

Change-Id: I2ecf9624d5af446edc650e276f65b1925d101b27
---
M modules/varnish/templates/vcl/wikimedia-backend.vcl.erb
1 file changed, 8 insertions(+), 5 deletions(-)

Approvals:
  Ema: Looks good to me, but someone else must approve
  BBlack: Verified; Looks good to me, approved



diff --git a/modules/varnish/templates/vcl/wikimedia-backend.vcl.erb 
b/modules/varnish/templates/vcl/wikimedia-backend.vcl.erb
index df5dfe4..50f75d0 100644
--- a/modules/varnish/templates/vcl/wikimedia-backend.vcl.erb
+++ b/modules/varnish/templates/vcl/wikimedia-backend.vcl.erb
@@ -150,7 +150,6 @@
        call wm_common_miss;
        call cluster_be_miss;
        if (req.http.X-MISS2PASS) {
-               unset req.http.X-MISS2PASS;
                return (pass);
        }
        return (fetch); // no default VCL (which is just "return (fetch)" 
anyways)
@@ -161,14 +160,18 @@
 
 <% if @realm == "production" and @hostname != "cp1008" -%>
 <% if @vcl_config.fetch("pass_random", false) -%>
-       if (req.http.X-Next-Is-Cache) {
-               // pass-traffic should not use consistent hashing, to avoid 
unecessary
-               // traffic focus on one node and keep things performant, *if* 
we're
-               // fairly sure that all layers/tiers make equivalent pass 
decisions...
+       if (req.http.X-Next-Is-Cache && !req.http.X-MISS2PASS) {
+               // pass-traffic should not use consistent hashing, to avoid
+               // unecessary traffic focus on one node and keep things
+               // performant, *if* we're fairly sure that all layers/tiers
+               // make equivalent pass decisions...  MISS2PASS is an
+               // exception, we need to chash these passes to take advantage
+               // of opportunistic hits
                set req.backend_hint = cache_<%= @cache_route 
%>_random.backend();
        }
 <% end -%>
 <% end -%>
+       unset req.http.X-MISS2PASS;
 
        call cluster_be_pass;
        return (fetch); // no default VCL (which is just "return (fetch)" 
anyways)

-- 
To view, visit https://gerrit.wikimedia.org/r/379199
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I2ecf9624d5af446edc650e276f65b1925d101b27
Gerrit-PatchSet: 4
Gerrit-Project: operations/puppet
Gerrit-Branch: production
Gerrit-Owner: BBlack <[email protected]>
Gerrit-Reviewer: BBlack <[email protected]>
Gerrit-Reviewer: Ema <[email protected]>
Gerrit-Reviewer: jenkins-bot <>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to