Re: DOC Patch: tune.vars.xxx-max-size

2016-03-23 Thread Willy Tarreau
Hi Daniel,

On Mon, Mar 21, 2016 at 09:56:10PM +0100, Daniel Schneller wrote:
> >From 29bddd461c30bc850633350ac81e3c9fd7b56cb8 Mon Sep 17 00:00:00 2001
> From: Daniel Schneller 
> Date: Mon, 21 Mar 2016 20:46:57 +0100
> Subject: [PATCH] DOC: Clarify tunes.vars.xxx-max-size settings
> 
> Adds a little more clarity to the description of the maximum sizes of
> the different variable scopes and adds a note about what happens when
> the space allocated for variables is too small.
> 
> Also fixes some typos and grammar/spelling issues re/ variables and
> their naming conventions, copied throughout the document.

Thanks for this, I've merged it. I suspect this part will have to be
factored out in the future to avoid these ugly copy-pastes.

Willy




DOC Patch: tune.vars.xxx-max-size

2016-03-21 Thread Daniel Schneller
From 29bddd461c30bc850633350ac81e3c9fd7b56cb8 Mon Sep 17 00:00:00 2001
From: Daniel Schneller 
Date: Mon, 21 Mar 2016 20:46:57 +0100
Subject: [PATCH] DOC: Clarify tunes.vars.xxx-max-size settings

Adds a little more clarity to the description of the maximum sizes of
the different variable scopes and adds a note about what happens when
the space allocated for variables is too small.

Also fixes some typos and grammar/spelling issues re/ variables and
their naming conventions, copied throughout the document.
---
 doc/configuration.txt | 227 +-
 1 file changed, 114 insertions(+), 113 deletions(-)

diff --git a/doc/configuration.txt b/doc/configuration.txt
index c9cca4f..5147626 100644
--- a/doc/configuration.txt
+++ b/doc/configuration.txt
@@ -1400,16 +1400,22 @@ tune.vars.global-max-size 
 tune.vars.reqres-max-size 
 tune.vars.sess-max-size 
 tune.vars.txn-max-size 
-  These four tunes helps to manage the allowed amount of memory used by the
-  variables system. "global" limits the memory for all the systems. "sess" 
limit
-  the memory by session, "txn" limits the memory by transaction and "reqres"
-  limits the memory for each request or response processing. during the
-  accounting, "sess" embbed "txn" and "txn" embed "reqres".
-
-  By example, we considers that "tune.vars.sess-max-size" is fixed to 100,
-  "tune.vars.txn-max-size" is fixed to 100, "tune.vars.reqres-max-size" is
-  also fixed to 100. If we create a variable "txn.var" that contains 100 bytes,
-  we cannot create any more variable in the other contexts.
+  These four tunes help to manage the maximum amount of memory used by the
+  variables system. "global" limits the overall amount of memory available
+  for all scopes. "sess" limits the memory for the session scope, "txn" for
+  the transaction scope, and "reqres" limits the memory for each request or
+  response processing.
+  Memory accounting is hierarchical, meaning more coarse grained limits
+  include the finer grained ones: "sess" includes "txn", and "txn" includes
+  "reqres".
+
+  For example, when "tune.vars.sess-max-size" is limited to 100,
+  "tune.vars.txn-max-size" and "tune.vars.reqres-max-size" cannot exceed
+  100 either. If we create a variable "txn.var" that contains 100 bytes,
+  all available space is consumed.
+  Notice that exceeding the limits at runtime will not result in an error
+  message, but values might be cut off or corrupted. So make sure to accurately
+  plan for the amount of space needed to store all your variables.
 
 tune.zlib.memlevel 
   Sets the memLevel parameter in zlib initialization for each session. It
@@ -3765,17 +3771,17 @@ http-request { allow | deny | tarpit | auth [realm 
] | redirect  |
   Is used to set the contents of a variable. The variable is declared
   inline.
 
- The name of the variable starts by an indication about its
-   scope. The allowed scopes are:
- "sess" : the variable is shared with all the session,
- "txn"  : the variable is shared with all the transaction
+ The name of the variable starts with an indication about
+   its scope. The scopes allowed are:
+ "sess" : the variable is shared with the whole session
+ "txn"  : the variable is shared with the transaction
   (request and response)
- "req"  : the variable is shared only during the request
+ "req"  : the variable is shared only during request
+  processing
+ "res"  : the variable is shared only during response
   processing
- "res"  : the variable is shared only during the response
-  processing.
This prefix is followed by a name. The separator is a '.'.
-   The name may only contain characters 'a-z', 'A-Z', '0-9',
+   The name may only contain characters 'a-z', 'A-Z', '0-9'
and '_'.
 
  Is a standard HAProxy expression formed by a sample-fetch
@@ -4077,17 +4083,17 @@ http-response { allow | deny | add-header   
| set-nice  |
   Is used to set the contents of a variable. The variable is declared
   inline.
 
- The name of the variable starts by an indication about its
-   scope. The allowed scopes are:
- "sess" : the variable is shared with all the session,
- "txn"  : the variable is shared with all the transaction
+ The name of the variable starts with an indication about
+   its scope. The scopes allowed are:
+ "sess" : the variable is shared with the whole session
+ "txn"  : the variable is shared with the transaction
   (request and response)
-