summaryrefslogtreecommitdiff
path: root/src/mongo/db/storage/flow_control_parameters.idl
diff options
context:
space:
mode:
authorDaniel Gottlieb <daniel.gottlieb@mongodb.com>2019-05-02 20:55:55 -0400
committerDaniel Gottlieb <daniel.gottlieb@mongodb.com>2019-05-03 09:38:17 -0400
commitcd3f10254f5b7fd93c2e4065a996dad74d5b1fd2 (patch)
tree9f47c6f169001c3e485d2487684c344111c1b147 /src/mongo/db/storage/flow_control_parameters.idl
parentedcf522c5436f6b564afd18b7d184764741a03a5 (diff)
downloadmongo-cd3f10254f5b7fd93c2e4065a996dad74d5b1fd2.tar.gz
SERVER-39867: Temper ticket penalties when commit lag is close to the threshold.
Diffstat (limited to 'src/mongo/db/storage/flow_control_parameters.idl')
-rw-r--r--src/mongo/db/storage/flow_control_parameters.idl28
1 files changed, 28 insertions, 0 deletions
diff --git a/src/mongo/db/storage/flow_control_parameters.idl b/src/mongo/db/storage/flow_control_parameters.idl
index e76df69be53..135ffa23b7b 100644
--- a/src/mongo/db/storage/flow_control_parameters.idl
+++ b/src/mongo/db/storage/flow_control_parameters.idl
@@ -70,3 +70,31 @@ server_parameters:
cpp_varname: 'gFlowControlMinTicketsPerSecond'
default: 100
validator: { gte: 0 }
+ flowControlDecayConstant:
+ description: 'The rate at which flow control will throttle based on how lagged the commit point is in time relative to the flow control threshold.'
+ set_at: [ startup, runtime ]
+ cpp_vartype: 'AtomicWord<double>'
+ cpp_varname: 'gFlowControlDecayConstant'
+ default: 0.5
+ validator: { gt: 0.0, lt: 1.0 }
+ flowControlFudgeFactor:
+ description: 'When commit point lag is close to the threshold lag, the primary should track the sustainer rate, with some small penalty. This value represents that penalty. A value of 1.0 represents no penalty, a value close to 0.0 represents a large penalty. Reducing oscillations should keep this value close to 1.0.'
+ set_at: [ startup, runtime ]
+ cpp_vartype: 'AtomicWord<double>'
+ cpp_varname: 'gFlowControlFudgeFactor'
+ default: 0.95
+ validator: { gt: 0.0, lte: 1.0 }
+ flowControlTicketAdderConstant:
+ description: 'When the commit point lag is small, flow control will add at least this many tickets per second. This provides meaningful ticket increase when immediately recovering from stalling events.'
+ set_at: [ startup, runtime ]
+ cpp_vartype: 'AtomicWord<int>'
+ cpp_varname: 'gFlowControlTicketAdderConstant'
+ default: 1000
+ validator: { gt: 0 }
+ flowControlTicketMultiplierConstant:
+ description: 'When the commit point lag is small, flow control will increase its ticket allocation by this factor. This provides meaningful ticket increase in more general recovery scenarios.'
+ set_at: [ startup, runtime ]
+ cpp_vartype: 'AtomicWord<double>'
+ cpp_varname: 'gFlowControlTicketMultiplierConstant'
+ default: 1.05
+ validator: { gt: 1.0 }