This is an automated email from the ASF dual-hosted git repository.
ycai pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/cassandra.git
The following commit(s) were added to refs/heads/trunk by this push:
new 425f750 Document the side-effect of Zero Copy Streaming when using
multiple data directories
425f750 is described below
commit 425f750a6ffcc65340b62692548e38855d76040f
Author: Yifan Cai <[email protected]>
AuthorDate: Thu Feb 25 14:49:17 2021 -0800
Document the side-effect of Zero Copy Streaming when using multiple data
directories
---
conf/cassandra.yaml | 4 +---
doc/source/new/streaming.rst | 13 +++++++++----
2 files changed, 10 insertions(+), 7 deletions(-)
diff --git a/conf/cassandra.yaml b/conf/cassandra.yaml
index c704437..c605671 100644
--- a/conf/cassandra.yaml
+++ b/conf/cassandra.yaml
@@ -875,9 +875,7 @@ sstable_preemptive_open_interval_in_mb: 50
# Enabling this will reduce the GC pressure on sending and receiving node.
# When unset, the default is enabled. While this feature tries to keep the
# disks balanced, it cannot guarantee it. This feature will be automatically
-# disabled if internode encryption is enabled. Currently this can be used with
-# Leveled Compaction. Once CASSANDRA-14586 is fixed other compaction strategies
-# will benefit as well when used in combination with CASSANDRA-6696.
+# disabled if internode encryption is enabled.
# stream_entire_sstables: true
# Throttles all outbound streaming file transfers on this node to the
diff --git a/doc/source/new/streaming.rst b/doc/source/new/streaming.rst
index 1807eb4..849b43d 100644
--- a/doc/source/new/streaming.rst
+++ b/doc/source/new/streaming.rst
@@ -50,20 +50,25 @@ Zero copy streaming is enabled by setting the following
setting in ``cassandra.y
stream_entire_sstables: true
-By default zero copy streaming is enabled.
+It is enabled by default.
+
+This feature is automatically disabled if internode encryption is enabled.
SSTables Eligible for Zero Copy Streaming
*****************************************
Zero copy streaming is used if all partitions within the SSTable need to be
transmitted. This is common when using ``LeveledCompactionStrategy`` or when
partitioning SSTables by token range has been enabled. All partition keys in
the SSTables are iterated over to determine the eligibility for Zero Copy
streaming.
Benefits of Zero Copy Streaming
-********************************
+*******************************
When enabled, it permits Cassandra to zero-copy stream entire eligible
SSTables between nodes, including every component. This speeds up the network
transfer significantly subject to throttling specified by
``stream_throughput_outbound_megabits_per_sec``.
-Enabling this will reduce the GC pressure on sending and receiving node. While
this feature tries to keep the disks balanced, it cannot guarantee it. This
feature will be automatically disabled if internode encryption is enabled.
Currently this can be used with Leveled Compaction.
+Enabling zero copy streaming also reduces the GC pressure on the sending and
receiving nodes.
+
+.. note:: While this feature tries to keep the disks balanced, it cannot
guarantee it.
+ For instance, it is expected that some of the SSTables do not fit entirely
in their disk boundaries, when bootstraping a new node having multiple data
directoris.
Configuring for Zero Copy Streaming
-************************************
+***********************************
Throttling would reduce the streaming speed. The
``stream_throughput_outbound_megabits_per_sec`` throttles all outbound
streaming file transfers on a node to the given total throughput in Mbps. When
unset, the default is 200 Mbps or 25 MB/s.
::
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]