BBlack has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/281499

Change subject: VCL: remove all non-default between_bytes_timeout
......................................................................

VCL: remove all non-default between_bytes_timeout

As we start doing more stream traffic (we're streaming pass-traffic now, and 
looking at cleaning up the streaming of large objects and chunked responses), 
inter-cache BBT is becoming more important.  In a streamed response, BBT even 
on inter-cache fetches can cause failure due to small timing gaps during the 
application-layer stream output.  Looking at this rationally, it also doesn't 
seem to make sense that we've set BBT to 2-4s values for inter-cache and 
applayer defaults in the past when our connect and TTFB timeouts are longer.  I 
think we're better served reverting to the default (60s) here, especially since 
BBT failures on streamed responses can have a "200 OK" status with truncated 
content (as status/headers have already been streamed to the client when the 
BBT timeout fails).

Bug: T131761
Bug: T128813
Change-Id: Ib2bd24861402cf9463a62b0be4403b8a005f5ccf
---
M modules/role/manifests/cache/maps.pp
M modules/role/manifests/cache/misc.pp
M modules/role/manifests/cache/text.pp
M modules/role/manifests/cache/upload.pp
M modules/varnish/templates/vcl/wikimedia-common.inc.vcl.erb
5 files changed, 5 insertions(+), 16 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/operations/puppet 
refs/changes/99/281499/1

diff --git a/modules/role/manifests/cache/maps.pp 
b/modules/role/manifests/cache/maps.pp
index f3f7e64..ea13299 100644
--- a/modules/role/manifests/cache/maps.pp
+++ b/modules/role/manifests/cache/maps.pp
@@ -21,7 +21,6 @@
         'port'                  => 3128,
         'connect_timeout'       => '5s',
         'first_byte_timeout'    => '35s',
-        'between_bytes_timeout' => '2s',
         'max_connections'       => 100000,
         'probe'                 => 'varnish',
     }
@@ -30,7 +29,6 @@
         'port'                  => 3128,
         'connect_timeout'       => '5s',
         'first_byte_timeout'    => '35s',
-        'between_bytes_timeout' => '4s',
         'max_connections'       => 1000,
         'probe'                 => 'varnish',
     }
@@ -45,7 +43,6 @@
                 'port'                  => 6533,
                 'connect_timeout'       => '5s',
                 'first_byte_timeout'    => '35s',
-                'between_bytes_timeout' => '4s',
                 'max_connections'       => 1000,
             },
         },
diff --git a/modules/role/manifests/cache/misc.pp 
b/modules/role/manifests/cache/misc.pp
index 5d3059c..39dc8da 100644
--- a/modules/role/manifests/cache/misc.pp
+++ b/modules/role/manifests/cache/misc.pp
@@ -14,7 +14,6 @@
         'port'                  => 3128,
         'connect_timeout'       => '5s',
         'first_byte_timeout'    => '185s',
-        'between_bytes_timeout' => '2s',
         'max_connections'       => 100000,
         'probe'                 => 'varnish',
     }
@@ -23,7 +22,6 @@
         'port'                  => 3128,
         'connect_timeout'       => '5s',
         'first_byte_timeout'    => '185s',
-        'between_bytes_timeout' => '4s',
         'max_connections'       => 100,
         'probe'                 => 'varnish',
     }
@@ -32,7 +30,6 @@
         'port'                  => 80,
         'connect_timeout'       => '5s',
         'first_byte_timeout'    => '185s',
-        'between_bytes_timeout' => '4s',
         'max_connections'       => 100,
     }
 
@@ -179,7 +176,7 @@
             'dynamic'  => 'no',
             'type'     => 'random',
             'backends' => ['mendelevium.eqiad.wmnet'],
-            'be_opts'  => merge($app_def_be_opts, { 'between_bytes_timeout' => 
'60s' })
+            'be_opts'  => $app_def_be_opts,
         },
         'ytterbium' => { # Gerrit
             'dynamic' => 'no',
@@ -201,7 +198,7 @@
             'dynamic'  => 'no',
             'type'     => 'random',
             'backends' => ['wdqs1001.eqiad.wmnet', 'wdqs1002.eqiad.wmnet'],
-            'be_opts'  => merge($app_def_be_opts, { 'probe' => 'wdqs', 
'between_bytes_timeout' => '60s' }),
+            'be_opts'  => merge($app_def_be_opts, { 'probe' => 'wdqs' }),
         },
     }
 
diff --git a/modules/role/manifests/cache/text.pp 
b/modules/role/manifests/cache/text.pp
index 653dfb7..0cc7c59 100644
--- a/modules/role/manifests/cache/text.pp
+++ b/modules/role/manifests/cache/text.pp
@@ -23,7 +23,6 @@
         'port'                  => 3128,
         'connect_timeout'       => '5s',
         'first_byte_timeout'    => '185s',
-        'between_bytes_timeout' => '2s',
         'max_connections'       => 100000,
         'probe'                 => 'varnish',
     }
@@ -32,7 +31,6 @@
         'port'                  => 3128,
         'connect_timeout'       => '5s',
         'first_byte_timeout'    => '180s',
-        'between_bytes_timeout' => '4s',
         'max_connections'       => 1000,
         'probe'                 => 'varnish',
     }
@@ -41,7 +39,6 @@
         'port'                  => 80,
         'connect_timeout'       => '5s',
         'first_byte_timeout'    => '180s',
-        'between_bytes_timeout' => '4s',
         'max_connections'       => 1000,
     }
 
diff --git a/modules/role/manifests/cache/upload.pp 
b/modules/role/manifests/cache/upload.pp
index a2a9ce1..6042499 100644
--- a/modules/role/manifests/cache/upload.pp
+++ b/modules/role/manifests/cache/upload.pp
@@ -21,7 +21,6 @@
         'port'                  => 3128,
         'connect_timeout'       => '5s',
         'first_byte_timeout'    => '35s',
-        'between_bytes_timeout' => '2s',
         'max_connections'       => 100000,
         'probe'                 => 'varnish',
     }
@@ -30,7 +29,6 @@
         'port'                  => 3128,
         'connect_timeout'       => '5s',
         'first_byte_timeout'    => '35s',
-        'between_bytes_timeout' => '4s',
         'max_connections'       => 1000,
         'probe'                 => 'varnish',
     }
@@ -45,7 +43,6 @@
                 'port'                  => 80,
                 'connect_timeout'       => '5s',
                 'first_byte_timeout'    => '35s',
-                'between_bytes_timeout' => '4s',
                 'max_connections'       => 1000,
             }
         },
@@ -57,7 +54,6 @@
                 'port'                  => 80,
                 'connect_timeout'       => '5s',
                 'first_byte_timeout'    => '35s',
-                'between_bytes_timeout' => '4s',
                 'max_connections'       => 1000,
             }
         },
diff --git a/modules/varnish/templates/vcl/wikimedia-common.inc.vcl.erb 
b/modules/varnish/templates/vcl/wikimedia-common.inc.vcl.erb
index 55f05c0..6b7eb8b 100644
--- a/modules/varnish/templates/vcl/wikimedia-common.inc.vcl.erb
+++ b/modules/varnish/templates/vcl/wikimedia-common.inc.vcl.erb
@@ -103,7 +103,7 @@
 #         'dc'       => 'eqiad', # required if dynamic==yes
 #         'service'  => 'foo',   # required if dynamic==yes
 #         'backends' => [ "backend1", "backend2" ], # required: array or 
single value
-#         'be_opts'  => { # every option but 'probe' is required!
+#         'be_opts'  => { # every option but 'probe' and 
'between_bytes_timeout' is required!
 #             'port' = 80,
 #             'connect_timeout' = '2s',
 #             'first_byte_timeout' = '4s',
@@ -139,7 +139,9 @@
        .port = "<%= be_opts['port'] %>";
        .connect_timeout = <%= be_opts['connect_timeout'] %>;
        .first_byte_timeout = <%= be_opts['first_byte_timeout'] %>;
+<% if be_opts.key?('between_bytes_timeout') -%>
        .between_bytes_timeout = <%= be_opts['between_bytes_timeout'] %>;
+<% end -%>
        .max_connections = <%= be_opts['max_connections'] %>;
 <% if be_opts.key?('probe') -%>
        .probe = <%= be_opts['probe'] %>;

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ib2bd24861402cf9463a62b0be4403b8a005f5ccf
Gerrit-PatchSet: 1
Gerrit-Project: operations/puppet
Gerrit-Branch: production
Gerrit-Owner: BBlack <[email protected]>

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

Reply via email to