Merge branch 'cassandra-3.0' into cassandra-3.11
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/23a1dee4 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/23a1dee4 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/23a1dee4 Branch: refs/heads/cassandra-3.11 Commit: 23a1dee45f43ea241deb6b677d8c42cb3e9d45a0 Parents: 702ec08 82943d6 Author: Ariel Weisberg <aweisb...@apple.com> Authored: Tue Feb 14 15:13:39 2017 -0500 Committer: Ariel Weisberg <aweisb...@apple.com> Committed: Tue Feb 14 15:13:39 2017 -0500 ---------------------------------------------------------------------- conf/cassandra.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/23a1dee4/conf/cassandra.yaml ---------------------------------------------------------------------- diff --cc conf/cassandra.yaml index 063a0b7,790dfd7..90e28b2 --- a/conf/cassandra.yaml +++ b/conf/cassandra.yaml @@@ -1173,34 -959,12 +1173,34 @@@ gc_warn_threshold_in_ms: 100 # as corrupted. # max_value_size_in_mb: 256 +# Back-pressure settings # +# If enabled, the coordinator will apply the back-pressure strategy specified below to each mutation +# sent to replicas, with the aim of reducing pressure on overloaded replicas. +back_pressure_enabled: false +# The back-pressure strategy applied. +# The default implementation, RateBasedBackPressure, takes three arguments: +# high ratio, factor, and flow type, and uses the ratio between incoming mutation responses and outgoing mutation requests. +# If below high ratio, outgoing mutations are rate limited according to the incoming rate decreased by the given factor; +# if above high ratio, the rate limiting is increased by the given factor; +# such factor is usually best configured between 1 and 10, use larger values for a faster recovery +# at the expense of potentially more dropped mutations; +# the rate limiting is applied according to the flow type: if FAST, it's rate limited at the speed of the fastest replica, +# if SLOW at the speed of the slowest one. +# New strategies can be added. Implementors need to implement org.apache.cassandra.net.BackpressureStrategy and +# provide a public constructor accepting a Map<String, Object>. +back_pressure_strategy: + - class_name: org.apache.cassandra.net.RateBasedBackPressure + parameters: + - high_ratio: 0.90 + factor: 5 + flow: FAST + # Coalescing Strategies # # Coalescing multiples messages turns out to significantly boost message processing throughput (think doubling or more). - # On bare metal, the floor for packet processing throughput is high enough that many applications wonât notice, but in + # On bare metal, the floor for packet processing throughput is high enough that many applications won't notice, but in # virtualized environments, the point at which an application can be bound by network packet processing can be - # surprisingly low compared to the throughput of task processing that is possible inside a VM. Itâs not that bare metal - # doesnât benefit from coalescing messages, itâs that the number of packets a bare metal network interface can process + # surprisingly low compared to the throughput of task processing that is possible inside a VM. It's not that bare metal + # doesn't benefit from coalescing messages, it's that the number of packets a bare metal network interface can process # is sufficient for many applications such that no load starvation is experienced even without coalescing. # There are other benefits to coalescing network messages that are harder to isolate with a simple metric like messages # per second. By coalescing multiple tasks together, a network thread can process multiple messages for the cost of one