Author: zznate
Date: Wed Oct 17 00:25:53 2018
New Revision: 1844054

URL: http://svn.apache.org/viewvc?rev=1844054&view=rev
Log:
CASSANDRA-14631 (update) - add missing feed.xml

Added:
    cassandra/site/publish/feed.xml

Added: cassandra/site/publish/feed.xml
URL: 
http://svn.apache.org/viewvc/cassandra/site/publish/feed.xml?rev=1844054&view=auto
==============================================================================
--- cassandra/site/publish/feed.xml (added)
+++ cassandra/site/publish/feed.xml Wed Oct 17 00:25:53 2018
@@ -0,0 +1,115 @@
+<?xml version="1.0" encoding="utf-8"?><feed 
xmlns="http://www.w3.org/2005/Atom"; ><generator uri="https://jekyllrb.com/"; 
version="3.4.3">Jekyll</generator><link 
href="http://cassandra.apache.org/feed.xml"; rel="self" 
type="application/atom+xml" /><link href="http://cassandra.apache.org/"; 
rel="alternate" type="text/html" 
/><updated>2018-10-17T13:22:37+13:00</updated><id>http://cassandra.apache.org/</id><title
 type="html">Apache Cassandra Website</title><subtitle>The Apache Cassandra 
database is the right choice when you need scalability and high availability 
without compromising performance. Linear scalability and proven fault-tolerance 
on commodity hardware or cloud infrastructure make it the perfect platform for 
mission-critical data. Cassandra's support for replicating across multiple 
datacenters is best-in-class, providing lower latency for your users and the 
peace of mind of knowing that you can survive regional outages.
+</subtitle><entry><title type="html">Testing Apache Cassandra 4.0</title><link 
href="http://cassandra.apache.org/blog/2018/08/21/testing_apache_cassandra.html";
 rel="alternate" type="text/html" title="Testing Apache Cassandra 4.0" 
/><published>2018-08-21T15:00:00+12:00</published><updated>2018-08-21T15:00:00+12:00</updated><id>http://cassandra.apache.org/blog/2018/08/21/testing_apache_cassandra</id><content
 type="html" 
xml:base="http://cassandra.apache.org/blog/2018/08/21/testing_apache_cassandra.html";>&lt;p&gt;With
 the goal of ensuring reliability and stability in Apache Cassandra 4.0, the 
project’s committers have voted to freeze new features on September 1 to 
concentrate on testing and validation before cutting a stable beta. Towards 
that goal, the community is investing in methodologies that can be performed at 
scale to exercise edge cases in the largest Cassandra clusters. The result, we 
hope, is to make Apache Cassandra 4.0 the best-tested and most reliable major 
release r
 ight out of the gate.&lt;/p&gt;
+
+&lt;p&gt;In the interests of communication (and hopefully more participation), 
here’s a look at some of the approaches being used to test Apache Cassandra 
4.0:&lt;/p&gt;
+
+&lt;hr /&gt;
+
+&lt;h4 id=&quot;replay-testing&quot;&gt;Replay Testing&lt;/h4&gt;
+&lt;h5 id=&quot;workload-recording-log-replay-and-comparison&quot;&gt;Workload 
Recording, Log Replay, and Comparison&lt;/h5&gt;
+
+&lt;p&gt;Replay testing allows for side-by-side comparison of a workload using 
two versions of the same database. It is a black-box technique that answers the 
question, “did anything change that we didn’t expect?”&lt;/p&gt;
+
+&lt;p&gt;Replay testing is simple in concept: record a workload, then re-issue 
it against two clusters – one running a stable release and the second running 
a candidate build. Replay testing a stateful distributed system is more 
challenging. For a subset of workloads, we can achieve determinism in testing 
by grouping writes by CQL partition and ordering them via client-supplied 
timestamps. This also allows us to achieve parallelism, as recorded workloads 
can be distributed by partition across an arbitrarily-large fleet of writers. 
Though linearizing updates within a partition and comparing differences does 
not allow for validation of all possible workloads (e.g., CAS queries), this 
subset is very useful.&lt;/p&gt;
+
+&lt;p&gt;The suite of Full Query Logging (“FQL”) tools in Apache Cassandra 
enable workload recording. &lt;a 
href=&quot;https://issues.apache.org/jira/browse/CASSANDRA-14618&quot;&gt;CASSANDRA-14618&lt;/a&gt;
 and &lt;a 
href=&quot;https://issues.apache.org/jira/browse/CASSANDRA-14619&quot;&gt;CASSANDRA-14619&lt;/a&gt;
 will add fqltool replay and fqltool compare, enabling log replay and 
comparison. Standard tools in the Apache ecosystem such as &lt;a 
href=&quot;https://spark.apache.org&quot;&gt;Apache Spark&lt;/a&gt; and &lt;a 
href=&quot;https://mesos.apache.org&quot;&gt;Apache Mesos&lt;/a&gt; can also 
make parallelizing replay and comparison across large clusters of machines 
straightforward.&lt;/p&gt;
+
+&lt;hr /&gt;
+
+&lt;h4 id=&quot;fuzz-testing-and-property-based-testing&quot;&gt;Fuzz Testing 
and Property-Based Testing&lt;/h4&gt;
+&lt;h5 id=&quot;dynamic-test-generation-and-fuzzing&quot;&gt;Dynamic Test 
Generation and Fuzzing&lt;/h5&gt;
+
+&lt;p&gt;Fuzz testing dynamically generates input to be passed through a 
function for validation. We can make fuzz testing smarter in stateful systems 
like Apache Cassandra to assert that persisted data conforms to the 
database’s contracts: acknowledged writes are not lost, deleted data is not 
resurrected, and consistency levels are respected. Fuzz testing of storage 
systems to validate these properties requires maintaining a record of responses 
received from the system; the development of a model representing valid legal 
states of data within the database; and a validation pass to assert that 
responses reflect valid states according to that model.&lt;/p&gt;
+
+&lt;p&gt;Property-based testing combines fuzz testing and assertions to 
explore a state space using randomly-generated input. These tests provide 
dynamic input to the system and assert that its fundamental properties are not 
violated. These properties can range from generic (e.g., “I can write data 
and read it back”) to specific (“range tombstone bounds synthesized during 
short-read-protection reads are properly closed”); and from local to 
distributed (e.g., “replacing every single node in a cluster results in an 
identical database”). To simplify debugging, property-based testing libraries 
like &lt;a 
href=&quot;https://github.com/ncredinburgh/QuickTheories&quot;&gt;QuickTheories&lt;/a&gt;
 also provide a “shrinker,” which attempts to generate the simplest 
possible failing case after detecting input or a sequence of actions that 
triggers a failure.&lt;/p&gt;
+
+&lt;p&gt;Unlike model checkers, property-based tests don’t exhaust the state 
space – but explore it until a threshold of examples is reached. This allows 
for the computation to be distributed across many machines to gain confidence 
in code and infrastructure that scales with the amount of computation applied 
to test it.&lt;/p&gt;
+
+&lt;hr /&gt;
+
+&lt;h4 
id=&quot;distributed-tests-and-fault-injection-testing&quot;&gt;Distributed 
Tests and Fault-Injection Testing&lt;/h4&gt;
+&lt;h5 id=&quot;validating-behavior-under-fault-scenarios&quot;&gt;Validating 
Behavior Under Fault Scenarios&lt;/h5&gt;
+
+&lt;p&gt;All of the above techniques can be combined with fault injection 
testing to validate that the system maintains availability where expected in 
fault scenarios, that fundamental properties hold, and that reads and writes 
conform to the system’s contracts. By asserting series of invariants under 
fault scenarios using different techniques, we gain the ability to exercise 
edge cases in the system that may reveal unexpected failures in extreme 
scenarios. Injected faults can take many forms – network partitions, process 
pauses, disk failures, and more.&lt;/p&gt;
+
+&lt;hr /&gt;
+
+&lt;h4 id=&quot;upgrade-testing&quot;&gt;Upgrade Testing&lt;/h4&gt;
+&lt;h5 id=&quot;ensuring-a-safe-upgrade-path&quot;&gt;Ensuring a Safe Upgrade 
Path&lt;/h5&gt;
+
+&lt;p&gt;Finally, it’s not enough to test one version of the database. 
Upgrade testing allows us to validate the upgrade path between major versions, 
ensuring that a rolling upgrade can be completed successfully, and that 
contents of the resulting upgraded database is identical to the original. To 
perform upgrade tests, we begin by snapshotting a cluster and cloning it twice, 
resulting in two identical clusters. One of the clusters is then upgraded. 
Finally, we perform a row-by-row scan and comparison of all data in each 
partition to assert that all rows read are identical, logging any deltas for 
investigation. Like fault injection tests, upgrade tests can also be thought of 
as an operational scenario all other types of tests can be parameterized 
against.&lt;/p&gt;
+
+&lt;hr /&gt;
+
+&lt;h4 id=&quot;wrapping-up&quot;&gt;Wrapping Up&lt;/h4&gt;
+
+&lt;p&gt;The Apache Cassandra developer community is working hard to deliver 
Cassandra 4.0 as the most stable major release to date, bringing a variety of 
methodologies to bear on the problem. We invite you to join us in the effort, 
deploying these techniques within your infrastructure and testing the release 
on your workloads. Learn more about how to get involved &lt;a 
href=&quot;http://cassandra.apache.org/community/&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;
+
+&lt;p&gt;The more that join, the better the release we’ll ship 
together.&lt;/p&gt;</content><author><name>the Apache Cassandra 
Community</name></author><summary type="html">With the goal of ensuring 
reliability and stability in Apache Cassandra 4.0, the project’s committers 
have voted to freeze new features on September 1 to concentrate on testing and 
validation before cutting a stable beta. Towards that goal, the community is 
investing in methodologies that can be performed at scale to exercise edge 
cases in the largest Cassandra clusters. The result, we hope, is to make Apache 
Cassandra 4.0 the best-tested and most reliable major release right out of the 
gate.</summary></entry><entry><title type="html">Hardware-bound Zero Copy 
Streaming in Apache Cassandra 4.0</title><link 
href="http://cassandra.apache.org/blog/2018/08/07/faster_streaming_in_cassandra.html";
 rel="alternate" type="text/html" title="Hardware-bound Zero Copy Streaming in 
Apache Cassandra 4.0" /><published>20
 
18-08-07T07:00:00+12:00</published><updated>2018-08-07T07:00:00+12:00</updated><id>http://cassandra.apache.org/blog/2018/08/07/faster_streaming_in_cassandra</id><content
 type="html" 
xml:base="http://cassandra.apache.org/blog/2018/08/07/faster_streaming_in_cassandra.html";>&lt;p&gt;Streaming
 in Apache Cassandra powers host replacement, range movements, and cluster 
expansions. Streaming plays a crucial role in the cluster and as such its 
performance is key to not only the speed of the operations its used in but the 
cluster’s health generally. In Apache Cassandra 4.0, we have introduced an 
improved streaming implementation that reduces GC pressure and increases 
throughput several folds and are now limited, in some cases, only by the disk / 
network IO (See: &lt;a 
href=&quot;https://issues.apache.org/jira/browse/CASSANDRA-14556&quot;&gt;CASSANDRA-14556&lt;/a&gt;).&lt;/p&gt;
+
+&lt;p&gt;&lt;img 
src=&quot;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAU8AAAFRCAYAAAD0ES8ZAAAAAXNSR0IArs4c6QAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAA7EAAAOxAGVKw4bAAACC2lUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iWE1QIENvcmUgNS40LjAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp0aWZmPSJodHRwOi8vbnMuYWRvYmUuY29tL3RpZmYvMS4wLyI+CiAgICAgICAgIDx0aWZmOlJlc29sdXRpb25Vbml0PjI8L3RpZmY6UmVzb2x1dGlvblVuaXQ+CiAgICAgICAgIDx0aWZmOkNvbXByZXNzaW9uPjU8L3RpZmY6Q29tcHJlc3Npb24+CiAgICAgICAgIDx0aWZmOk9yaWVudGF0aW9uPjE8L3RpZmY6T3JpZW50YXRpb24+CiAgICAgICAgIDx0aWZmOlBob3RvbWV0cmljSW50ZXJwcmV0YXRpb24+MjwvdGlmZjpQaG90b21ldHJpY0ludGVycHJldGF0aW9uPgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KhtKuJAAAQABJREFUeAHsfQmAFMXVf3X3XHtf3JeIoMDG2xzeHBovbtxNYmLMCcmnQeAfBbwYFAQkgqCJwSPRL1Hz7Sqn
 
Rzy4vI0ajcoqBgURudn7mLP7/3vVXcsAe8zMzs727FbB7PR0V1VX/br716/ee/VKYTJJBNoLAcNQWHGpyqsvLQ4fe5rcZatzVb/Wl4X1frqm9VQMPZsxJUNRjEydqVn4remM1aiKUqvqeq0D3wFDOWAY2m63y79n/02TDhxbJ6NzluKcRUU6Q0XHHZc7JAIJQsCRoHpkNRKBIwiUlGisrMwAeYH7GCfNvEUv5zAWGMDU8LeYrow0mHE687M83TDymKp0U9xpjKngWUMH/4FC8U0JxIkfCoqoLIADhr+BMT1U4Q9rlbmL1lUYhrENebboivF+OOz8qlZRDopzojKFeedpzDsXbZBEygGVfxKGAO5MmSQCCUBASHzFRyTMwSuezz5cG7oIDDjOMPRzQGanK640UxIlUtRBlHoI9Mr5lf4QbdJXU/elkCIdTNXAqhpTNHxTEfofCqAu4zNU/h/w5LNBLfxSbaRkKgjd6zVZOQFdllV0bQSaukm7NiKy9zEiAKIrwTA5gjR7LVw/IqCyMbqhTwAPnqR40pgRBkkGA1Q3htOgO6JCzpP8L21Fdy+aZU3GPCJNUlmVOZxMcbiYEfCBSPV94OcXsH9tX5/vha3eYn5yRiQqh/SARaa2IhDdDdvWs8jynRMBIiKLNPstfTOtPnjgKt1Qf4vOjlTc6YoR9EOqBGkyhj+GiuE3UV873nM01ueqAi6dKk43l0gVPfQhzvtoyAg/VXPLpMP8YvC2Qy96hID5bvlHIhAtAu14I0fbBJkv5RAoAmmWmAaZQm+Ja0+a51cYMk+B1Hc66S05aRoGsSYIE//alTCbQE9ItqaUC4nUrSjUroBvBwj8cbfqenD/TZeZxqaIF0ATNcldEoFmEZDk2Sw08kATCGCIXtI4RM9fuPZyDNpvZ073eTQMB2mSPpEG5KTXtMe9RURKJEp/HU5N0Rwg0YYvNEOZf3jOuMewlzGvV2Vz55KBi3LJJBGICgF73OBRN
 
VVm6lAEvBh2ezm5GN0Wv3BKmAXuMphapGhOkKZPDH/JgmPjxIf1BidRWO+NkP9VaBPmVs4Zu5k3WkqhNr529muaJE/7XRP7tcjrdUA648rLvEXrpsLaswg6zVzDV09tJSu5zUnzWEg5iTLF7VENv485VWVBYUOWd7N3ZIgblCKMX8eWlL8lAgIBSZ4CCfndNAKWNJaz8Nk8eFsuV5zOaw1yLdJhCVJAmsnWZzbdynj3oiOKxlxuuKD6XtVU7TeHZ435VA7j44Wza5WT5Nm1rncMvSUHc9CjV9HzFq2/AH6aj8KR/WQ4qZNek5Lpr2lup/JfrhNVXB4NUmiloqk3VMwa+wTvEOlCpV9oKl/bdm27JM92hTdFKyeHd0owoOQtWvtDbP0FRqE0I+CHtAlJTRznmTrNnxDTHHzGHWxMt1bcPOZu3jPyLGhiammn6bXsSNwISPKMG7pOWpCI0bI6Q+K8HhLnA3xGDw3TYa/upL02u6VAf2swDVIoLPL+FZVzxt3ID0gC7dSXPd7OSfKMF7nOWO4o4ly3wNAct3And0zXgRjaWYbprV05UksoUFEoLOD/R59Bg67bWlwYYKa3gVBZtFaHPN4FEOgqD0QXuJRt7GLEUDx/0dq7mCsNxBmEYZ1bprvSfcL7avjrdcPl+eHeL778u5frPjFziQhUJomAhYC8GeStQAgobN48PlwvWLx+mqE5bwN50PxzMqZ0xXsEIzJMJfXXhw23u2i5+8wH+W0C41kn1ffy7sk/sSEgh+2x4dU5c1s6vfzF63+OEHF/4Z3kEmeXJM7Ia0wvDwNDeJX5/Qsr5oy9hZMneJX2R2aU210Pga4oVXS9q9xSj72bHGRNzlm8fjSiID1MApc5VO/yxEmomSxJMURdrjkFi9fewI1pNEVVpi6PgJQ8u/ItYEmcve5+vrtPCb0NB/hBRjBIEZA6t1U99muOMHqqisDLPs2hjCq/aexbciZS7CB2thLyDdrZrmjU/Y
 
FLkuW/6FOCKzE0BXEGJHE2jR8mwuthxenyhMPGozTbiofiI0OSTF0WAXnxu+ql95pD0ryFa+fAr3Gi4a8jNxwpcTZ/P2gs6A+p7vRhqqKv4NkoEpNMXRYBSZ5d8dLTcB2W4x5L1p6G7t8GiRNfUoPT6q2AufyGrw7xnrWf5C9aV2zpP1MsKEqrvZQZokRAkmeUQHWibI3D9WCY3c3caenmQkLSQNTqNeZBUCBswqgGMX1+1t2rCuTwvVXUOm0GSZ6d9tI20zHLUoypl9cwh+sqBPogSpDSUzNwHb8bM61CwRBC8g1xKM5Z/PjW4VJsPx6oTr9HXvROf4kjOmhNvxyEZYArWP2bhuYazkIU/b3LTL2MAKNNm4gDjQWPdaMOSyadWzF7wsdMzn9vE6CpWFhKnql41eJtcylWuUSqZA2/Zi4PiDNA8SzlPRA7nhi3I6ipJy0DYvt0XrwQ69TL1KUQkJJnV7ncltSZ612dyzzavxB+bQjIU0qd8V9/8KaK6HV6LYJQncelTxk8JH40U7CklDpS8KLF1WRL6jTStWIsySuJMy4QjypExBmGf2wm3ktTzCPzjsogf3RuBKTk2UmvrwG5qLS0iL8cS1kR/OGLw2zF8+7c+uCbIM+zEK8yBdcest3F4rpPDOGrnEw55+Cc8dv5Eh4y+rztLlR7NEg6RbcHqh1Up9fL1K3Di5QinF9RSkGO9KFUyv/mNxgX6Yp2FpYIJgs7Zs3w3fJP/AhY0md6Tsjvm4xqFrPh0vIeP5ypVVKSZ2pdr6Zaq3gNrzK8dKtSXMwJk1NliVGk7dkQPstQ9UsM3bFj5iVP/0MxQuPhYsOw6iXNJpLuSU2hGes+6wWE6H1jUHQx9/vEuwvb8tUUK5Ypll8O21PsgonmFpUUaSRhmoRp7l3yn2sznJV1ZxshYxL2XOl0q0M86U5WW1n78PRl3ukF5+3+THe4+huhIJGn1HebsLX1L6R4HooqqIaUi8pvG/e2DBr
 
SVkhTo7yUPFPjOvFWCj1mWVmp4YWUSYNxinKedeEn31NZeCI7XFOUluk8IeALs2BQ/yAYMO4IBJRXZ456dgtb+NsfYVmN/kY4REN2DDdTqOP2biqwNMKKJ8Ops/rvo6lvs7Iiia69r1lCWifJMyEwtm8lpMscDl1mpB5z6aZxgxXmGMP0D3/h8jhOpUUt/b7Qew214YfgOrOu+rUzykCsJGHylK+ELzZcGYwhA3bI627hkpgvQzHCQRqrX4H67qS4AfiWQ/fEgGvbWuSw3baXhiklJUVqUVGpjkEhl2T+uulnnmpWNUIPG7/BozkeUia4MLgdrPqkUzFWXz9yzYeR3fFu8jq8I72hwSuezz5UF9rIHI6zU8G304G70mEJxwGI2ykgxunwm1WZHixnhvvsyjlX7LQizqdA0yPvGLkdCwJSAokFrSTkFUNz0mUKfea9W8b3V8PKTyr1yl9kZLsG11UHQiDM/w3UBp+oUis3ekdupmWBeSJDUdm8QmPuXK+hFA/nD295gPWD/eJMzMkmM7xth+zUWLJi4eXA9ukkICusOzgJrbZ3IjUIrcysavmKFjoPjd3JTL9ay9vB3s2XrYsPAUme8eGW8FKCNI8amr8y/kIEMJ/KQqw4PdvpbKgJftZQHZzjchhPXH/xmq9FI4TxyJRSTYs7hvpQiEL3BsWoEgqcozhcKgxFJMbZdrRBFiySNGs9TnZ6uouFdINtrW5gedhvaxHOxJSChTgQsu7baO6T+MjUyRGQ5NnBF5gMPsOHb23UZ9LQvEqvGotm3eDO0C7y18PAw5Q1kDb/nJHTY9PUcx7igpgg22IM60vh02l6ch7Tma2lnCh1QzkXUhEOciu7LV2UiDhd+FSAMF8dcyYr7FOA1hrs4dfL2O3vfMn6Z7hYDX7bNlnSJ5bqGMpoXajikSE5dLft1UpIwyR5JgTG2CsRpFlc7OVDu2WbJuTCzEBD8+mZue6T6ir91b760EJD0f8yc9S6
 
7eIM0INqZWWFhqKQMUg4wYujx3xTsArOqsYgkzztK8B5oE3Y4w+xawYWsG8P7Mk8LtOTalxhf3b7v3YwF94Wtk6QPuHJQGL9oExXQ14tYwf5cs42F5ptjanNGyfJM8kXqFFitEhz6ZtF+Up98FeIrjszI9fds7bKv7220j8j5FGevOn81QeoeYJoI4flrTbbDASiF3pLXN8oajeF6xDtO2TPIhkZQZ6uHtaXE+e/dx1iQ7rnsMG98ti1Jxawv+04zE6Az2qVXaVPkjxNjAdqDn82enOQsbl09fCRqTMiIMkzSVdVEKDQad7/+g/7BAP+qUpD8IaMHFd+fXXgg/oq30zNF3hm2pUv+KlZmDnExS8vlzJjbOi8eURHxjeZGb1ZMNzNQAQ1JD6Mj7Gmds/uQau2Iaz90G4Z7JxBvfj5Hnnnv+yHp57ALhrah11+Sm/2t+0HmbPdW9KGE3C9J6RjDcplZvRBTV8wS23ShlplURsjIMmznS8OlzRZkVqsmMPzP2wa283BtN9gLvTsrBxXBnSZ79TVhhfNGL1mjWgKWcwRygMuSkf8NMWxqL+tOdZaWO+J8X0PQ+cGeZuSJ5qFOCU/OK0H61+Qwb4+VMse/GQvOy0/k5PnhYPBRdmfs/JQmGkY3tvYhE26BcUw9IH4fo0Vmga7qK+ZzJhSCJiKpZRqcuo0lvST5BhUDIPO/754bcayjRNnarr2WUa2+y704qOG6tCYG0euPnfGyGc4cVJ+IlvKT+Xa1NOyMk6UsFhnGqrqgfHCpnLnEY/9KzBkp/T+V9BWYBXkJ/67n1XVBUComWze0F6svCHIshFC09YJzVMMhYbtMnVyBCR5tsMFJhIklyDy0/SWFLmWb5wwpdxR81lmtutePFpf1VYFJkPSPG/aqFXPwcxuROZvM2k29udivqUaukdx8AGGTm1qPGyTjSyQ4XaQ4uSB+WxY325cbfjsp98wluZkrx+oYR98DdUhWj36ZBCrA44Ce
 
AnY+KaFIY+3LovDK4ftNrnL2qcZNr4P26fD7Vkr6TVJT8md2yE5Lt84+cqcgtC7mfmelYbCfDAGXTNj9OpzZoxavYraEUmaIIi2SZrNdAxSp5OpnDzbpf5mThv1bg/lDOlszMm9WHaag338zWH26O5KNtSDNkMP+tb2fbyu0wZ0Z1f3zWU7MLxPxxvGlomuISdPwyRPWzZSNipRCEjyTASSeGSICEGeOhl3VmyZfCaG6M96srTnICoNqD7sm5GeHT4d0uZTOB2XNPnwnELItRNpim6h+jRaKteOiRxOufUcPpwXkF4T6WOSNOsDWClEZd0gfT6x4xDbV9nAskCsY2A8ouG8y57dwZVFB2joYBh82F5EYa+43My/5Z9OhoA0GLXxghJpko6yGD6XK14t6q6HQnMU1ZhBoSEaqgP3ejzKPb+1XI54Xji1U/42nrbJ4qZFf7hSVlZmbEYO+igGw2RHe6YMDNl3Qac56/T+7KQeOayyNsDmvr+TsbDOPqyFwwFI8tCOcvbBzv3sijMGsgtOgiU+63PWgOMaytquY4LUFcwJQ+LR+/HNRyQRQVromEypj4AkzzivodeKdCTmny/fNPE6PRi8F76aBfDTXIV1aW+ZPnrdNqqeSPOIj2acJ2y9mEKSb2O2khL+KCtKOEB6QrsRKDXOZUlql0OipNHu4TofG9+/gHkGdkd7oduEFFcL388D+Bh43QyE3+etQ3qwBR9+zU7KdLNDJL43dtgGG+RbSzpZg1VRa7zev0Ir8VXgqOtig2bKJiQGAUmeceDIJUgacmP6Dg3RsQrtEvhqjq6p8H8BY9AUDM8bdZplRYWwtptuSnGcqtkiGBpa5AjPGGyT4enuu+8uCAaDxfjt9zL2OBVWDc0fQrg02sSQEpxklqMdHZlIb7kdQ/DLemWzU/t350Pek3pks3sn0NTwoxPXOuC1gJE8G3FKX7bgP7sZ+cqTzsleLwWsbWLo7DBTOHky9evnMPlhyJ
 
133rlo9+7dDz/0EJ9aSy85ZThcyYqKiuCOhmsiU0oiIMkzhsuGm16lSSNEhuYc9MpbITHdBsdDo7bCf3uumvuHn498zEdVRhJsDKeIKiu1Aw8dlzLF9oIFC3qCOF/Lz88fUl5e/sKIsu7/uxm1aRrc8CmaEg2Cwaq0YYfE9ZaQKCcN68MKstysviHEvjhUxf04qX2iofSGCIMpc9LdbABcls46oTv7Ts9s9q+KOtYDEZcCIqMdOgWMdZBnjsLqTfZkpbhOt+m6ftOQIUOeRhNpxpiBa2avVtsDu5Rrha1GPXZGz7tpBGJjmqHflr8yaSTmnD+Qle8ZDmnznxhSzpxx6epPqf0WaRKxtesDsnjx4qyGhoYMPIjcHE2/fT7fDTjvbnDkM9hfT+3JXbT+dCyRu4Wpag7T+dzGDr/mJDGSOforxDz59OcXsqF989nLH+9i3//7WzjgRky6COiotZjzPnZwd/bUDy9gGbDCP7qljP3q5TI2JNvNDiBvh3cITbSSwTQnVN7hovJZY4ks2cqVK5179+4tENcJ3+RgMFfTtOqMjIyVM2fOLMdv6gKRqooPdT4CAPySyZYISMmzlctCarV5CA2Of6ElL34/Q3Nm3O1K16b5avX66vLAr+F69AhVQaRJATtEoI9Wqo36MD1QNMQrLi4WhEzDvutBnAsg1fx36dKlF+IBbJg1a1YNKl0oKrYeRD0Y1vc5NeWAojpyDB2rZnaw6Z1YIQfGnh0wFP1uWC82sEcuuJ2x5z4zfTuHuDRWG0GeyMqc2Lce7kvbD1Sx0wcUsO8M6slY5nZWCcORCxkQaK/jk1CJoDOID/IlNWjKlJXOqVOnkti/T6hWsrOzlerq6u9lZWWNqKqqKga5fsfKw3DN6BrTN5Eo36bfMtkTARICZGoGASJE8jwh96PlmyeNdDoyPoCj+zRfffApl9MzdMboVZw4KZ4md4hP8A1PDxw9RCBOss5zioCEmYntn+NzGOT5ByJ
 
Oq/mkQ9NKSkrIA4jK8fx1t47fD63oYcy5pt0dTjN0w/GbDi255JQ+zONU2bb9lezPXx1mmSDJGrytaGK/+DQgn5uUnpA+3/jvHhxh7JRe+eyGE7uxg/D5TOMKUb67Y/+QRkRFz7CGO6L/HaLGPNRnL103UkrjUnHsFet6XVpZWUmOTH+CVEp5SKOiQGcN5S8nT51+07ZM9kVAXqCmrg35bZZiPjrNEMJwPc/IvdOV7pyD2Jq1ENx+NX3kqv+jYnyIDtcj0iY2VU0i9oEET1NV9aza2tpn7rnnHpIuGfblQhqtsUi1+dMUgUhLi8O5i9atRqDeCQjUSy40HTracOKOq4SPURp8OD/72QjWOy+dPfXm5+ya5z9ip2AYvj9C6hQdywBBfgPyJOPS3390AeuGof0/P/qKXfF//2KDczzsoD2G7jpz4E0QDr2vsLTRFbMvreLGueMNQvTMRd4v/Pddd901DLrR10Ca7+L4HFzjDwWBzkOQF/ymMpHlBDzyu4MQ4EJAB53blqf1UiQjkCER54qNE0/P0XPfzMzzzPHVBddrmuM0Ik4aygtpM1HESQ8KHhAHPjRk49cFD82tbrf7Pzj2QHp6OpdKSLrE8UoiTpGvWSApMAUSyn/Kl4lgRodf72wQYRDTMZeceQInTl9AZ/+gIbtbY1XNUEMdAB8MXeeLGLp/dbCSd/e7J/Vm5/bL5RZ7IlcbJEPh0r2xgxMnNajpZuFyGJhUUULXUcU2b3pOTg5AYP9wOByXQ0qdTjuJNEliRT4+hKdyPLP8YwsEOlQKsQUCEY3gRiHoNmkX/DZ/g9v6Qbzr9ZrKwG/gfrSS9lPEIxFWjn4nItFDQQ8J6uLnJoKkerE/z+/3P+d0Ou+49dZbuR6ttLQ0bOVn4qFqtg3W3GqY5l+DYnEOnuYOf/jqiSzcDvYJ4nX+6fn32QE4w6/bX83ynVj90yKSpvrDZyKBYBdt+ISd/8kuvlyHB1GWqEsI2d5UkeTv
 
4/AaH/MTUzR5r8Kv57ENsa41H67jGtJhZdq0adX4vgES6DJcX9Ja8OtLhkB4UeTfdtttX6EcH95b5SmLTB2IgCRPAl8M00eWhiiiO36vyMxzX1tz2Pe+U9Guu2HkM1spG5c2Ezw7SBAnHqJcnOKnGKJvueOOO0jaxDOi/J7Oe2yK+uFpjCSvbDVCgSqmaDkgUWKaDiPRWpy9D0a39yO4Mft0P6xBKuuO9Yq4M9WxHY34TWzSE65JT++rZk9j1hHvAYIjk7uSD3V2sEiNO0jRDF99QHM43uTN3nowFkbn1wT3gHL77bd/QeWxTaOQEDwofuNyue6BFPow7olbcO0xN6DRx5eyxnIeyi9TghDo4HsuQb1oQzW4QTkGNEy/b+Pk78Kp+b3MHPe1mI9+vzrAf/4No57ZShIphCKllDvGt+FkVlG6+em89CEihBP12fgugyV2OY6dRdkwLKd2cWODkESt4tF/zZ3LH6yKvD174b79juKkVYLQww5M9LauQav6Y5G3ofnpbDBmCrVGnNRcAoOMR31dDnZKnocNga6zG7zmyX/ABjcxXJQcxOeHQiH2PrWXlRTFijMfnltqGXXu3LlcMoXUuQqjj6fh2vRr3CPnUtUgUox++EiFuzfRPpmSj0CHSSDJ7+rxZ7R8MvlNet+Gib9WHcpDelCvx1SWXxxlFEoQaVILLNLkD5bYxsMwGqRJrkfLIXX+w3ow6Npw8ju+5THsIes79KN5C9fezTzpcyAddbjRSLRedC7WmzDecuK8if82dMXlUY1gYG3l7HETElU/vWSte4Hum8Godw++uf8uvjPxqcM+giMx90qiGt5F6on1vu00sAind9JhfrMptDw73319dbnvPbdT+8H/XPjMlyRpzpsHJ6UEux8RgPPnz+8Ly2ovEKUppRyPauIeBi+MRF5Fz7vn2QuxFMcrmETu6uih+/HdTfk9YcWTrimBhl+Vzxr3KNww+AsrEb3C/Xecz+eKFSvcm
 
EX2PIiVJNDrcR9tjSTaRJxX1tE6AjYY8bTeyATnMMPHYbbQfa/8qOeejaGXcwrc10O/+XeEjbuYiJOIlXTzCSTOxpcUpMwfh0Kh7bjZ/4YPx59ufPSR+2nSNz5CuGp7172mb+clA696E3q5T5iDBs4tWGbafsauVgNCPDmg72w4GNbVTbzzZaaXQyKAsO5Bfm9Y9wmDcckP3fimtLS0i3GOp2g/SagW0ULFJK3yicC+tTq6FHmSNIkbjEd4hzX9Aqb4/u1M00ZWlQdmTB+95tqp56yvp6G8mIbZGnitHaebmW5kOiflJYkBv3+DzX24+W/ADc+doenGxz6DLOn0jU8ikwFLl1ZarGBpD+UfiuZE3SahJvIkXbguA/6dmJNvvFY1Z8yXDNecJP0E48HvDes+4fcSpM359fX1Z2LfdLEf95mOT4h+SwJN8BVoorouY23HTQXjDPnLeY3lmyZfh+Dqj4X84fqgz7h8xqhVLxI25OOZwAhIfMiP81LVnBBJYsDvyfhdC6sq111ZNz7lab9UhKpL8VH1Fw1f7TxY3dPk0D1hcPMlh/Fe5hMn2NbhnNwSVvvxFfF7ie5nfD6kw0SUdB/h90X4Hgnf4PvwXSX2H1+F3JMIBNr7QieijW2ug0iRplhSRcs3TrrZk+VYjKV+P1YUZ9H0UaXbSNo0420mRuqzbmwd0+1ODgQC90LKLIWk8L9kSbWkSxa53eYORlMBDeXwgPHZRq60CYa/nqRc7k8aTXGZpykEMJHd4VZZKFiG1T/Pr/ROrASTcZybyp3ofZFeGHRfwUf015gz/xCmfu7AuS7BffildS8S4XLSTXQbunJ9nX7YTgYhIk66iZZtnPCnzHzX4oaawPMu1XkeESfpN8lNiXScbb0RrBuVK/jhflQIN5OP4KM3BsYhLmUWFhaK4ZQiSLSt54y6fHGpea0VdYURwHR4a6WyqMvLjE0iAAmPtCAPceIkQ5Gpgmkyb6J30j1kfbhggN
 
HMwwg28hO0iSI1kd+wSMKlqUsIS6LT7f3dqcEUFvWlJUVpSkHwybweaRMqD/j+euOoVb/EDWaI4wkAmes1QZ6Nui5sD0S9MyB1Pgmp852OH0KREcHUdcJt6QXm8lxuBHxS+oz/4sNQRHPZg1/CyfMc6Dsrkil1NtFsepaPFQCa2tdEUbkrHgQI3E6ZBDH+cVNRr6AefCYz130eYm/eNeOSNXdQhyN9PNsIQOMNioDEvbt163ZIhBgT9XY8cVotsVxocu9eOw6+rGsR3xN8igcOCjvRVvkdNQLcPUn1++Ycnj12USLdk6JuwfEZG1/iQi1EEzBw/z2Oz314oT+CIo336/HF5Z5YEOiUw3ZBnMtemTwoYARfd6c7zqutxPIYFnHS8JqG6rEA1UxefiNSfbhJ74AL0n8PHDhwKeWlwA90A9MxknKbKZ/c3WZoO6XylvHrQJyItJRGskqjtJzcxqTw2bD2HHMgfp6/fluWO/Rn3hMsumeDHjW615GKiNqDkQ8Fy/bl5uY+DDe532Kb8jjovsS2TG1AoNNJHII4//Ta5EF+f3iz063110NG0bSRq54mVyXCKgH6TeF+RPrNEJzeixAVvAT6pldQ/bXY1xj8tg3Xpn2KWtJn3qLnTkUckncMRU0DkRKByocpesRhKEIY5lDwmoo5455iICN8mgwCEn2Vic+J+5Dr35csWZIBtyZyaXoVKiQKe4fNI+5Mtnm5Jx6Cdq2xU5EnGYdoWd8/bpk4DGuLvYygtH1BmGOnj1z9bKIs6uLGi7wqIM8TwuHw93CMlr8INZUnMn+Hb1sEWrBo3ULdnT7bDnE+OxyT6BsQgsTuYAHf+orZ48aZxY7ok6OvJjk5BYFGnE2MlnJxrNLaz/dF5JGbUSDQachTSJzWapYb0PdcpiqXTR+x+uX20G+CMPtjmL4fN2AgEmfbEyc1loZsMG7lLXo5x2D1b8DwUQh3G2k8iryQTW/rTEU0EiNcpWjaBRU3jfm
 
EJiBQwOmms9tjL92TGLJrCKCNOLU8DuxQSJuv4PM4LPS3WZKnJNAYL1encJJvJM6XJ58JCXAL9HhpWAJ29I2j1m1KNHGSLvPTTz+9CzfcHASuvRh4vwoCdWzdupVmgaTGUrLkFYB+VBRfWtVt8drfYWniFzHn3QnHeTl8b+4BMg1rTMFsIhZkczhxWhJ8c0Xsst8iRz4istq0G98fIgDzLdDVk070ftzXKnT0qXH/2gTYlNdzCeJ8YOPkQl0Lb8BL1qmC1G68ZN0mOpYowxBuLI7VZ599VoSbbg5Ieh3I8z90HSl8mOW3aQejQXS3FhmP8PAfmjV+E0SO27DKmml5j65018tlsLCSloG1jv1PVcwe8yAHoDjmsHMdihuRKEmheNnXQvc5Fs7007DvPWqUIE4cS3lOSBbIKT1sF8S5fMvkIXoo/Dokzm6q03HhjRc//aY41lYg6WbChyQyPqyx9JtnDRs2bB0NgVJimN4cCHiQhFM3Zh49DV3eZISso/CaNAFepkYEEBHe6XQomPRgeMIXV87ATCIrWlVjlhTaaOKe5fc2jaronk6hrnRoU1OWPAU5kh9nQA+9geWyB+kh5fLpo555URxrB2T5TSbqbeImFIdS59vS2fVcsqpHIKxuZs60YXCet03MTxsAGaaoSdBzVjqYcSkk9fds4tPZVmgoUpMKlyaSREPkDwqni79AEr0DI6m1neLebitCrZRPSRGd9JgU+eiBVyYWBI3gCy6PNsgIskmJJE4xfMH3BVC2f4Wb6xpgaUyZMsWJfaQrxn1mE//NVi5yi4fJ2AGJY/9Nkw4gOOREI+D/SnFhkSFrPaUWy3b+g2EYiDSGYQ2u9DWcOOnadw7pTETx4n6+8Ael5ZJ7IajIGtzvI+neFs9A57/M8fUw5chTrFq54vkrsoOK8VxapvOMQEP4JzeOXrVakGp8UBwpRTcNPhTYYyj2voZPAd7KZZSjT58+tGolSWapo9+khreUjug/
 
t+GVMF4P+A8izFrXJlByhEewYRjRyNH8x3BLeoFLnDb052zp0rZ2jO5zut9pgTnk/TbWTPoLlvxA8APGYJ2PjDHbWlVd7jg9ICmT6CJ7i71cJ6O7PY8h+vt3ayoC18+4ZPUTPJwcOzK3PN5OYShDLh28OCIi1eMNvAyfRzGU2crPb+o/463evuWIQLHiY+Xskf/pt2R9cV0ouN5wuDJZCB6zjKXUfZIAkEGc8BJWVETxC00pv3nc/3EdZ3HC43QmoKltr0IQKL53obZfUo3WsL1R/ymH8cfjnDo6T8wOIlGPZgchOtLinALPzdXlgflYa+h2r5dhwSyGaRNtlgYjdZqR26xTE2fkfWG53/S65/mLfXrwKcXp6d3FdKCmjlMPG/Do/MXhm8c9hotPfrF0+3We0UbkNbe26R4Xu7FNEukICA7DIDhw7wI6TvtFnq7+nTLkScN1Wr3yvo0Tp2FZ4OW15b6/U/R3uoA07TIBxMnvBeh7fo63LM1Jf4TetrSKJc0T7lI3jUWgBXevH6qrxipEYBpm+BtC8DfAMNac4trpHhzSXxsG5qxDXREOVqGrGKqPeY51EeKMvJ7C6o57fnZBQcHCw4cPL8X2/6M8UgI9glTjm+bILvttkfWcE+emiWM86Y7ltRX+t1V//19RS4lU20qcuDE4DjAKTYMP51+g47pCoECO7zjetd621hD+8C1jP9PcrtGQPF/HAmcwNoM4SRfY+RKuL1bApD6GQl9qivp9Tpz0EukCEuexlxMCA7/fMfFjCYjzIayVNBPPwJ2UD1IK+JOmo8pkexDEDKH7t4w/NRRS3sXTe1BVlXMR6GO3ONaWy2i9SakKki5fwHd2Zmbm+N///veHuvxb1pJAey55McMf9i3GNM7rOdahAAgUxpTOkbhhCEsHM+b3/TPfpU/54v9N+Jr0v8w70nbBPpIFeeS9j+diGSTQ6SDS+7E9DW04SqWVrDbZ7Ty2ljy5EQhD9UfeLMqHs
 
8gqXDPMK1av4sRJQUDaGFYON4IIF8d1WYj6/hNcoNFEnBHH7HbNktcekkDhB7r/psvqKmePv0ENhX+ohEP7FFcaESdJJ6kshVL7Q3DLQl+MBt3fcDMiJF3BiZNLnF2XOOkGIwmTngHaxvcMEOdj2EfeJ5QMMqyam133r20lz0g95rINE0szc1xXN9QEeWi5RDrB48Zw4EMSRuPbFL+lYjzymbAeIgb1Rc6SdScqYbZccbjG4hliRpCkUI6drV/EEd2hFyVfLhh9YFjL6QNVMW4onz3hTZ4nBQJ9RPSl3Tcjn4VIadQ6seCPTm1Iaw5k297wpaXmXPLlGyfOzOnmubquyn8vxeTkF3Pk5jZJPFQHAQLjEOk2v8DvS/BNb1q+5jW+uc6H8sgEBAgP/tnkqLpp3I5KCsUWCl0LN6ZtmNKpMQ12aVMKtTNu9ICTC5KieDI0Fg7tZ/662W6H50JOnCRtki7P5hGSkn0/0rNApInzQvA0J4VgnwOrJvTEPsK0SxInXQdbkidJljQkX7550kgsTnhv1SHfxspRZ9xMDcaTTH/ivmC48FyqxEqDw1DP8/i48fkcH0oyqoyJQ9N/SQdIc7qRYFD5u6awb0NPeBsL6wcVdzpI1KFaBiXSI8Z9jZo+ebx74eUuSBNErxh6A/PV/VkNG9+umDNhMakkeFg5UlHYps3x9rV9ylmkaZAVns6AgDjnIRwj+T3/gn7TM0XfXS3ZrtOk56Spl/e//sM+elh/CmuUlXvSHD+lFTD5DCIv17XFe50UmjVBhREViaTXx2FZvxQXfxfpcPBtZ8kp3j4ntpyXHMUhieBBwnTFGugJFxia41w90HA308O7FCcIytQj0nkJY8I0eURq+vqahEnTg5xulRM706tYsOHPGK9fWDFn/G/Lb4NRSEqbdI2iTnhG+POBZ2YrpNG9sBE8SnPi6bnpigQqdBZRA9ieGSP1nPdtmPi8J8NxBdwLr7hx5Op/tlXP2YS+pr
 
ErdOElcTbCEf0GSRz0MiKpDanHgrU9A6pyDaYz/BTG+DMUpxvxNBCkKQyVsmEIvTK9sBN934GccfcwEDtNqdQc+OsAbevQyfq3Q3J62qEqfzl489j/8s5xSWkuRKbOOWOI97Gd/ohnBd8Dget0PFcPYHu75Rua3BdlO/Ux2moTfRNHe94m84llNJZtmDQ9p8C1rKbC571x5Jp5XBqF5NlkoSh2CuLERfZg3m5/CJ2k52x8W9J2FNXILM0hQGS0FSRq6QsHejd5Ktw152Fp+DFgz7GgyhMVTybpGZkRQuB9XBD+MSVSkkrpPhT3IvmSRvwkXqTf1l+SLOmfmUhNgNx4jClIsWkAQs7wbmZoGzSDrQmw4Gs1t0w6zLNL0rRga9sXnpdmhQ3xrLXtDKlRWtywHd5a4bO54tWi4Tr0KbgI7/Qd5Tyf1iSKlEjjaCj1kT9suOhP4DG7CgRaiEAI39BQ3QpiHEe1sshxCBA5RUiidLzPyvXpDRXKSBDaxaC503AtvwPJMI+8zhQHpEPiPj2Mw1w6xZXCe4yESOua8QyYBUH5wZH4gtqNpErKQFItpEslHPaBT9/D8Q/Arf8KZWa8UHPDJSZhUkYantPqlvIlSWgkJBFJ4tnBKrTFYZI6y8rKzsQiiJ/edNNNdV2FQM27MCFwxl+JSY6luAhF2jfB0EM0i10xtClEnLRPwXe8tYMgVSJIWNavxfKr11RUVPyJiJPqo9lD8dYryzWBgCAnbrUuVYmw9kwdW4+cz/HPyvec+ZVfwUqrDjdC+tmQQk/Bhe4HVizAJx95svBJBwm6+dCbpo6FaLSvB8GU9TDn1RrhcAWs/Idg+NkPJt0Gsv3QqRkfOeode/d4+bmQHymiDUKtYB6QfxOBAIQQ8k7hbzkQZ2/U+XJdXd3LIM4f0DH8bhRaEnE+O9ZhC/KcB+UTFFDG3u7B23LyPedXHvRNn3HJMx8JaTRe4OgNCNKkNyRZCLdi2YGZvXv3foD
 
q6ypvx3ixa1M58+GxXnhkXAKRUio+J1jO2G5s0ecl2kWJz2AK1XdXFS0jrGi0/pRH18NuQw/jOVQCuqL6NCPcoGvOeqXef7jSi0juTSXy0SzCATJsHNWGpjLLfW1FQJAnvnfjOXsUU5v/H7xY1qHevwuhpa3nkOVbQIAIkg4ve2XiuX98YzJFTHpZZCeJVGzH+k3k2EKZlo61UEweahMCdE1oaE/uTkR0wtodc6WmtZ/XwZfDQJ0tX++YzyALRIeAeM5o6A7L+w34FFJJy62pUz9nHdo5c7hOQiBT7tsw4V+gytMURT9t+qh120QUpegu4dG5hFS5ZMmSDAwlTqRYnJBgaJErGsLTUJ0PN44uJX91GAJEfBghcKMTSY6Uyrqb9+bwg+a1KsW+wiKDzcW1M6VKnk3+sQUCdK2afKbEs2iLVnamRgipE2HmZjzywQ+MZRsm/5b6R25Jbehn4wsBQ4kn8alctmxZLtUn3pJtqFsWlQhIBJpGgNZC4s+tJYWeTsKLlbXxmWy6aGru7TAneRH04/4Xi040dGNhTYX/XzNGPfNngnHuiPinX+ICcjUAvq+GgehHIMzHZ8yYwXVkJH3KJBGQCLQLAiR5cgPszp07u+O5+7C+vn55u5zJJpV2FHkqmDHExfywK3S3J8MJ44DxewzbMQWsbfE5MYNIDB+2V1VVzQXOswhrS+oUx2wCv2yGRKDzIACBhT9fN9988z48b49kZ2f/Egak76OHPG5E5+mp2ZO2DI/jxgLO8Cq5Ia3YPH4sFnD7YX118I8zL1n7GsCH35g3brckIkgkKk9DiA/xTR9OnNgviZPAkEki0H4I4BHkz6BRW1s7Hc/c5/i9k04XIdS039k7e83Cgv7XTT/z3Ldxwmf4HLzvlXEUoYUReba1/wsXLsyjC4h65Mp/bQVTlpcIxIGA9fwdV7K5/cdlTJEdbSarWPspQs1VGVW/zchxn6Iq7Kbpl6zbT1MzQZ5xOa3TTCFq
 
B8pf7ff7P8FQ4Tv4KSRN8R1rU2V+iYBEIA4EaJRHRBnxXDqwjHdBZxv9JZU8SbKkUHN/3FTUC9fkjrpK/7vTRq55jK5PMYtvtg9dJJpBhLqpzidxgcJOp5OHmIPVLy4ypvbIJBGQCMSPABElyJNXgOnQl2AZ74/wjF5EOwSpxl+7PUomlTy3Dt/Kzd0hIzgtI9uVi0g3dxIMJHWSsSgeSGgGEZXDDCJM41TW4fPjOXPmVNAFogsYT52yjERAItB2BDBtkz9/CMRDwkx3PI9PgkA9JOzgt3R9iRZick2ivPdvGXvisg0TgstembCpsWz8M4lofMA/jXWZG/LCHAOI/CkR6AgEhJQJ0rwas4/WLl68mOIXCO+XjmhS6p1TkCcc4v/84FtXGyteGX8h9UI4yieqR0SmiapL1iMRkAgkBIGjnkkQKYW0S+qoNyG96IhKBEE+sHFy4YotkwwEOi6hdgjLe1vaBOPQ7Xij/Q/VIS9IW5CUZSUC7YdAM4R5FKm239nbp+aksH9RkWkMChrhW6kbsLAvoO9ia5E32o4liaEASLMYa6zfqev6KbGUl3klAhKB5CIA8qTg41wHCjvFrXh2f4EWYKCYuiPFdidPGq5jVqSxfOOEs51u7UfhkPHItFGr/0P7S9u47jpI81LMItrpdru9yb0V5NkkAhKBWBEAUYoio2GBp/WPziSjbqqOGNudPNk8rwWY8j8koytO9X7aMbzUtLxbB2P6KiwsFFdhDgp+l6zr9Aajt1tMFcnMEgGJQNIQEJ4xeFanY/VNyD46Lf1Ns49SevjeLgAKI9GKDRNOgoUdus4Jq/mJTOt6wgBLZdG/XYCXlUoEbI4ABJ1BNBuQmpmqkme7QiwMRcs2TFzy4NtFIM9J3ElW7I/35BD3T1+0aFGOBD5eBGU5iUCHInCc4JSKAlC7DdvpbUKzibCgG6LaGlN89aEt00evepUuGfbHPLwWRiJY16+EvuTDYDB4KdUlRX5CQ
 
SaJQEohQLOP+JRqkj7BFQOsCS3Hkaqde9Vu5Dncmk2kh8M/Tc92ZWP+z1ICwpI6hc4yKmzorUSzEijIKvQki6Av8QPst6iwmMUQVUUyk0RAImALBITdAtM2b0SD3gKBYiFAllLGo3YhT/Lf5FLn21dkY2nYmXU1gQ9/d/EqWhiKFVtuS7QdbQJR8qxElEjkI/pjWgGTpFt8YpZioz2vzCcRkAi0DwJbt5oGY1VVX8fCcX3wPZfOJPa3z1lToFah01y+ecK1D7//A2P55ok/p2aL/XF0oTHEf0TZlBLxI9otNyUCEoGIue2wws+HHWMmgZKKus/EXcyIeeowFG1AvM6KlZt+1I1OQJJiHCc6iiRJV9K1AY4DQVlEIpACCBA/WKtupkBr26GJtOolVbti48TTzaWEJ/J10uOROgVJUixAvJ3ugbGIzySKk4TbobeySomARKCtCNBzfswzfZTA1Nb626t8PJJgi20RK8eGmXEN6SoVpv6NCpQVNTq2t1g+8qBwqoVl/UboRW6CsYiUytLCHgmS3JYIpDgC9JyDPHUM3S/ENqn4YjIod1T3E8rwZCiiqZhLXrw2w+Go3ga1xjczRq/5Lu8cDedjiNlJbyMkvnAUvstQRznWX/8e1SWO8XrlH4mARCClESBVnBXQfFF6evosWOAvhEH4dZJGiVTt2rmESp6lrIjX53TUXoklNvpqiraSOh5PsGMiThSlN1IIZPkzWON+THURoNYx+imTREAikOIICLcldOORhoYGBlfE66hLXcmHu1GKRczOFzAds4oc5AkEIjz6jjE11ifKxVmPKC6/JQISAZsjALvG5Ri+89Fql3neRUfvfWXiySBPY9nGCY/SdRLz2+O5ZqJO+hbb8dQjy0gEJAL2R4DUcaKV1vPe+Fvst9N3PBJhk+0fPlc4vRoTsBY7BtwObiiKI3oSB2zFihVunGg9FMjXA0jb6j2aBEPulAhIBGJGgNRxwhXReuZtbThKCH
 
nyGUUKX9SJrDnj6msCe7SGun8TemVlsVnZ4efF21ReXn5dfn7+laiC/+7yMw9ivhVlAYlA6iEAw5FOJAryXIDh+xTqQaREaqceJYQ8RUT4+zaOO8Xh1M6Ho8Gz0658oZp8O+OVGgHggIqKio8B3OMEWIRS2U74ybZIBCQCCUQAz7uo7RK4Jv5pwYIFvYlM7UigDtHStnyTb2cpr0C70uFSWThgPE0/Td9O8wg/HMWf4uJiPkSHy8LCurq6P4B8qwk4JDl0jwI/mUUikMoI4PkngY6WJr4Lz/waWN7PwPZey+e7kVnt0MfEKGQtH85lGye+rjD9pGCwYfBNl71UJ/w+Y+gotecogCziPGpfDPXJrBIBiUBqIcA5gHSfp5566hmQPj+FAFWfWl2IsrViOuYfNk0einnsFC2eL7OBDselEkA5Bz5tmQsfZctlNomARCCFEEiMoJfADsdFcJHnF9Mx1XD4Mk+GkxmqsZaOC+t7ZN6WtiPI9jfIt4Hms2OfbkddR0v9kMckAhKBxCAQwQlUIY0+bUWgbSVPHreTeqaqbKyvNrjHcLveoN9FLKZo8XxuK7knQc9xB4rnYYpWFdWD3/Qlk0RAItCFEKBhOwlP1nz3NWQ4QvdtFSy5TeQpDGM0k0g3lPPh4vr6zPNKG+iNQXPco73WkC55VkzNcmH7K/y4E3WErDdP1PVEez6ZTyIgEbA3AiBP3kDoPLOys7PHIzjQz2lHp3FZFGHmYCiaRAu8Ld8w6VrqoNhP29EmMTwHYbqiLSPzSQQkAp0WATHkpFHpu/g8YbeeJsRVCV5YI0OBMNMM5ztxdhCjcx4IhAGkQJx1yGISAYlA50FA6DgNh8MxCS5L5L5EiUjVFqNRwe68VbH8EW5I3pIiV063EGYTGcG+h5zn0NpF4lgs9YE0Mz0ejzZ79mzSddoGoFj6IPNKBCQCiUWARqRCsLJqtg03xK3zLC01w8/l9Ayd5HKrhQjWuYmIk4bsMeo
 
7BYGv9Pv9D1sAibdOYq+ErE0iIBFIKQSIOCFYRfKULaROAjHuYbuYN6TqyvmqStYhZQNVGMusIgIF4Oj4Ptnlcl0DCzutjEnJNm8Xsznyr0RAItARCFiSpz5//vy+GLrfhzYsBl+8R9yBT4fOOoxk9JiwKbQCfsAadpWvPlRneDS+jvpcBKGLqSIzczqI8xNsPkg/YWmLu11mdfKvREAi0BkQsKZlUnAQaPU8V6NPM1K6X6TTpA6UbC1yIW7nLnxebuyQdazxdysbwsq+dOnStFayysMSAYlA10NAqPUYiPRZfN63IGjc31GQxCXhiShKe/bqQzVV7Q9955vUAe6iFIN/J4o0KoNnzpzZ0FEgyPNKBCQCtkUA8pUZJFnTtKnY5u6QaG08I9yEdjIu8izsfpCzvqKGvuXOcDDV0N+jVpVZ+2NooUHrNK9cuRLRk3nq8LdJDG2XWSUCEoEkIGBZ2xUsCvcN9JxlpO/EaTucK+IiT7ZlBFfUwong3PrqgF8J6aSvZGI/3279D+98WVnZPfv27ZNW9tbxkjkkAl0ZgUaru2Uo6nDJM/aLEaHTXLphwr8RRYmWBRYpqreB9eZgmK/aE9sEymtWBVQ+qjrECeW3REAi0PkREJyxaNGiAdB7rsDvAdRrMaTvCARiljwF3T/4xsQe0HV+ixnKu9Rwq3PicFR9wXzVDIjk+5H5USpgWdljqiOqE8lMEgGJQEojIJYhhldO35ycnN+hMz+lDmHZjpg5LFFAxHzieczLJUOfzzjbnaY5MSfzVWrM1uHmAnDRNAxEK/yzdkIJ/G2U+TuVo4Xvoykv80gEJAJdCwGo97hQBdfIjysrK3ej92cTAmJ/R6ARu5P85s1EuLqqqOcocI5XQxpf6O3IUhzRdcMSt2nu1dfRlZC5JAISga6KAAlcxBlItdj+saqqfsIC2x02Uo1Z8mQjLGORrp/uqwtV+XX9G+pEjKtkEgiEBO94R+otqO0ySQQkAvZH
 
wOILirL06h133PEOvkn46zDyjAmxo5zjN0z4eNmGCY1RlMSx1ipEhzlhI8jpufj8Fb/5khuSQFtDTh6XCEgECAFyb4xAosMMzDFJnkLf+c3hcAEaPwQu7v81OxNbMBAqA7K8DvrOn2EzFx+aPdBhIND5ZZIISATsjwAJWVhhM0zCFzhjMlpMkmeHcEdM5Dm81DQKwaO9d1qG041B98cxws2X26AyAOFkWNs/hOS5nX7jWxiR6KdMEgGJgETgOASEkAX++CUOPgXe6IHvRh/Q4wq0446YyFO0IxxkheGwDi8lhTvHm5GUxNEWvxvfElD4zsCHuxugRIe8OVpsqTwoEZAI2BEBzlkgz39lZGQ4oQc9lRopXJmS2eCYrO0i3JyhGKeGAgZzO9VPeWPnxdRkPiUTovd/qBSJ4cJwFFMtMrNEQCLQ5RCYO3duGNImQ3T55+rq6uZB9fc5gQAfcXuPXNFozvr3bZj40rINE/cvLSnikZCiNRZZV7pRyjxG8dvlbgTZYYmARCAuBBo5hEqTABZXLUkrZE3LJAKFlX0HPjz4MT9/xJTNVtrDOwm9xUTUM4by2r/jrfRIHpYISASSjgDxhhDmkn5y64RR6zy988yZRfkXf9QHDNgN/vHbqA5I0Co0lq36WlkdNZYsWZKBjj+AojdSeaEApm2ZJAISAYlAFAgIVZ8LvHIGPjGpH6OoP6osUZPncGv6pWHoPTWXmol12r/kZ7h4RFR1iPWWfT5fH0SE7oOyPKBIRyh6o0JGZpIISARsiQDUfZxzYHA+Gyz6Dj6jqaGWgJa0NkdFfNQaEasTS2P2cbkdTNHYV7G0Eh3mCt1wOLwXC73NRlkehs72it5YOinzSgQkAslEoD4rK8uFkewl1kmj5rNENDJmcReRlPqFQ3BT0pU91IDhB7u3OmSnfJZFnfQUtfi5mPYhCfHb/CX/SgQkAhKBVhAQAheChGyrrq5+Gtm5ChGj26i4qJXqoz4cPVNbc
 
9rBd4P8DaGAZuj76Cwx+Hge1ShLxE5qZ49qgPwhEZAIpCQCEYJYPTrwA3DJI9SRZEdli9bET/k40cFNaRWCKp2blqOfNPWc9fXkphTLOu3o6ADURZFRyvHdWC+2ZZIISAQkArEgEMkfkdux1BF33ugkT0s+NP05jYHgy0NEnDhrVMQp3JFAmB4UeAkf0nky/KYOyyQRkAhIBOJBgDOTxS9JH8VGRZ6iVcveKvKAOE+A3pNb2qMlP8wmEuc52e12n4LO8iqFBT4e1GQZiYBEoOsiAO7hnHL33XcPRZCQ9+fPn38eoSH2JwMZQWpRnUsJhXMRgjMPg+2dvMDcqIqxwsJCwb/VcFV6G6X4Ou9Q/EZXgcwlEZAISASaQCAUCuVgjvuZMB5xi3syBbKoyHOe5SCvhYweiB6PYEoGNxY10Zcmd+FtwN2U8L1zz549F+H7FcpIoaWaLCB3SgQkAhKBFhDAHHcukLlcrs8wx32vGM1GCGotlE7MoajIk1kSpq6zHpoDRRR1L51ehKiLpSkPPfRQMJb8Mq9EQCIgETgWAdhNOHnOnj27CsR5HtSBKygPBDMxyj22SMJ/R+XnKUjS0FgPB8jTCOicPBPeGlmhREAiIBGIEQEa0VIRkCg41STVGKuIK3t0kqdVNZrVg5yLggo7HM/ZoNi9DXPZuRxLHY2nDllGIiARkAhEINDII8kkTjp/VOQppmbCv7N3wBdmRlivpsKl9Kf1xDs3ZcoUJ5S61yP7+NaLyBwSAYmARKBlBCBxEn8ZEMpOh1A2C789VolGQm25hrYdjYo8xSkwJbMHpmb6XXqYpliywqJGK7rI0v8K8qAAAEAASURBVOx3nz4UjIkFIHF+QJlkNKVmoZIHJAISgegQEPw1Oi0tbREChRRSMXjxiP3R1RJnruhOsmUEt5YzVcnCeWqCmW4fP9+8qM7KFbh4KwSQuwiK3buoFH4nTbEbVStlJomARCAlEYBAdpAajmF7Hn0nyw
 
WydfGWAh1b8TqXbZzwMiZpDgqF6k+76bKX6mKZmnmMMpfOK8mTrrRMEgGJQFwICE5ZsGBBb0Rrm4ylOf7vlltuOSj2x1VpDIVaJU9BkPS9fOOEd/Dt7FvuPKe4uBTR6aKbnon2HEuWx/6Oockyq0RAIiARaETgWC459ndjxkRvRDdsx1kf2/wzN6gyCzRYQ8RJDaFWRpF4ZzCNqgB6zqLFixfT0J+kziiLR3EGmUUiIBHoqgh0yLLDBHar5ClmFwWy6tyYWZSDMXwVFfRGufyGUN5ijfbLodQtwTdfKlREg6a6ZJIISAQkAvEiAPuJvnDhwsFLly7NRx1JE8xaJU/RIX89c6FZmfjNLe3DhxdFJTkK5S30EL2dTieDu5KckilAld8SAYlAWxDgHARBzBUIBF6qqam5hSoDmUbFTW05MZVtnTznmqcIs7ADLaKQ937ac8T30zze3N+ysjJhGHq1qqrqgYaGhu2UF6RqWvCbKyj3SwQkAhKBFhAAF/GjO3bscGO7Jz7DaAdJovhqdwKNanomNUj1a05dNZxMNSiOZ9RJdATf/0Ih+lBK6jQq85Tyr0RAItCZEBAzimbNmlUDe8pz6NvH1D+QaFL4pVXy3Fq6lTO4ogadqqqoGHQ3xHEBhPSZtI7F0UZZRCIgEUhRBBBlqVg0XZCq+N1e362SJ0XcpGmYgZDmdKdhgqauc/KMduE30XBInnQuiiRPOlMi5EZCFXnkt0RAIiARiBOByGF6UrildZ2n1RNVDTk1aD0VQ4lp2A5lrkZVYOrU7/H1AkiUjE6QrGVgEMJFJomARCAhCBBhik9CKmytkqjJU3EoGobtVB83GLVWsTgOgxEvBLI8BzMALsD+XDom57YLhOS3REAiEC8CQgiDUHYLOOXWeOuJp1zU5KmFdJqmCRHSiMlKPnz4cC5Co5PbEDL/Q9RQSQ0VkaBpWyaJgERAItAWBKAO/BnK/xwkKjgtchjflqqbLStO1GwGcSC
 
sOrDCMP4psZGnWGqDop6grivQOe4nmiylrmi//JYISAQ6NQL7IaAdBL/EJNy1BZFWDUai8rBiSp5GOL5IzeROgLroQ2+EpCh0Rdvlt0RAItA5EYAQxjsG4vwd7CpC2kwKx0RNnqqimQ2LUfK0LllkZyRxds77WPZKItARCBCfKJA4SSVIKZJrzD3t9DfqYTvTw8iLdsLVM5a2WDoImrw/Ap/ZK1eudFrlTTKOpTKZVyIgEZAI2ASB6MlTxdqZIHXd0KMvY3aS54d4XQxr+8Kvv/66H+0GkUrytMlNIJshEUhhBLikOX/+fFrS/Az0AyP45LhBRk2EhsoQv9NAMHlFSI6x4s0NRSBQ7veZzMXpY22ozC8RkAikBAKNQ3R48jyMFt9OrU6WMTpq8tQUZ9jQKaw85rfHkOCSxKMooXOPI9rzL1B0FxUvLS2NafgfwyllVomARKALIEDCHCVInLTwWx+QppvvMP+0+8g2aoNRsEHXnZoGmRih6WJI1ltAueuuu7aiGH1EkoYjgYT8lghIBGJGQEiYIE8fHOQfxG9uNMJvFZ92F86iJk+HB8N2SJ6QiWOSPC1EjiXKRnE7ZsRkAYmAREAicAwCGOHeLHYlgzjpXFGTpzPIwroTHGjopuRJEUNiSOiQA8GQhyKS/HZs0+qbkkBjwE9mlQhIBOyFQKs6zzJrbXYjHArqYTK4q+nUhbLNB6PSKYAo+TlAnKdB7/kfiNZXUXmxPAdtyyQRkAhIBNqCAHgmJnViW84lyrZKniJj0OEJwAMgCFdPWsAt5gRjkdPj8dD5hsdcWBaQCEgEJALHICAEszvvvPN0HHoX3+dSFghm3KPnmOwJ/9k6ec4zz+lwsgDG7A1YBC6D9kQbz1MEAHG5XJ/5fL4tKFpG5QsLC4/Vg9JumSQCEgGJQLQIcP5CjOHTc3JyToP1vQcVBLdENSqO9iTN5Yta5xkOB4NwVEIsT8MctpeVRkV+wiI2e/ZsWnVzhGgI
 
3hrtbg0T55LfEgGJQOdFABzTgPXRyjG3na+Php4mhVtaZWi4JqFtzFj53pT0+qqDWCPE2Dlj9JrR/FKQ2yeORXlZ6Fwib+R2lMVlNomAREAicDwCK1ascFdXV/e47bbbduOo4JjjMyZ4T9SSJ3ufBZXBrBYt48N2age1slX2PdLgyE5Fbh/JIbckAhIBiUBsCCjTpk2jAO1fx1as7blb1XkKcpw69SEM240qiKE5f900gjz6o05CsQtH1uvweSxi7qmoPuq6ZEaJgERAIhCBQKQgllQ+aZU8aVhOQ3ersRQFPreS5XLynDfPK/ZH9KXFzW9jbjsR6EmUC6Qaa/kWK5cHJQISga6HAPhkKrjk++g5uCo5QUEI5dbJE5nmbR7BTf9Y/K0CY/VcpqlYRxNpLv/b6h8sxSFI8n04ydPqmzFJrq2eQGaQCEgEuhQCgiQXLlyYh+0/o/M/IwBApIJr6Ge7pqjIU7TAUIxyRWUeLahzi7tY010cb+4bS3Fw61d9ff0qWMRGI99nlBdvi6RYxZprl9wvEZAIpCYCgiQx8aYbJuCQVfvTZPckKvIUPp1QLhx2ujUW0k13pRhmaJJeQlm8eHHVHXfc8Ra2JWkm+0rL80kEOhECELy4rjMjI2M3CHQ6pM8nqHvCrzwZXY3e2o7WqEzZr9JqHIq5fHCMDaRo8jzaiZQ4Y0ROZpcISASORYCT58yZMylOxnLrIATQ+NZYO7byaH5HJXmK+e2QjffrIQRE1lgfqrx794NKhDGpxfORjoJIE+L2aHxiEFpbrFYelAhIBLouAqTf5CRKgpnYThYcUZHn8NKtXAmrGOqhUEjHUhwqJ8+RIzeHyIE+msYKHQVI9H+Q/+ElS5Zwf1Ei1WjKyzwSAYmARCACAU6ciBM8DMQ5kAQzHEsql0RFnsXFpTwavGaEt+lQeKqGzueQPvDKxIL7XhnXM6JDzW6KZTdIsYs13HMwz50TsCDVZgvKAxIBiYBEIAIBS
 
+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&quot;
 alt=&quot;Fig 1. Cassandra Streaming&quot; style=&quot;float: 
right;margin-right: 7px;margin-top: 7px;&quot; /&gt; To get an understanding of 
the impact of these changes, let’s first have a look at the current streaming 
code path. The diagram 
 below illustrates the stream session setup when a node attempts to stream data 
from a peer. Let’s say, we have a 3 node cluster (Nodes A, B, C). Node C is 
being rebuilt and has to stream all data that it is responsible for from A 
&amp;amp; B. C setups a streaming session with each of it’s peers (See: &lt;a 
href=&quot;https://issues.apache.org/jira/browse/CASSANDRA-4650&quot;&gt;CASSANDRA-4560&lt;/a&gt;
 how Cassandra applies &lt;a 
href=&quot;https://en.wikipedia.org/wiki/Ford%E2%80%93Fulkerson_algorithm&quot;&gt;Ford
 Fulkerson&lt;/a&gt; to optimize streaming peers). It exchanges messages to 
request ranges and begins streaming data from the selected nodes.&lt;/p&gt;
+
+&lt;p&gt;During the streaming phase, A collects all SSTables that have 
partitions in the requested ranges. It streams each SSTable by serializing 
individual partitions. Upon receiving the partition, node C reifies the data in 
memory and then writes it to disk. This is necessary to accurately transfer 
partitions from all possible SSTables for the requested ranges. This streaming 
path generates garbage and could be avoided in scenarios where all partitions 
within the SSTable need to be transmitted. This is common when you’re using 
LeveledCompactionStrategy or have enabled partitioning SSTables by token range 
(See: &lt;a 
href=&quot;http://issues.apache.org/jira/browse/CASSANDRA-6696&quot;&gt;CASSANDRA-6696&lt;/a&gt;),
 etc.&lt;/p&gt;
+
+&lt;p&gt;To solve this problem &lt;a 
href=&quot;http://issues.apache.org/jira/browse/CASSANDRA-14556&quot;&gt;CASSANDRA-14556&lt;/a&gt;
 adds a Zero Copy streaming path. This significantly speeds up the transfer of 
SSTables and reduces garbage and unnecessary object creation. It modifies the 
streaming path to add additional information into the streaming header and uses 
ZeroCopy APIs to transfer bytes to and from the network and disk. So now, an 
SSTable may be transferred using this strategy when Cassandra detects that a 
complete SSTable needs to be transferred.&lt;/p&gt;
+
+&lt;h2 id=&quot;how-do-i-use-this-feature&quot;&gt;How do I use this 
feature?&lt;/h2&gt;
+
+&lt;p&gt;It just works. This feature is controlled using &lt;code 
class=&quot;highlighter-rouge&quot;&gt;stream_entire_sstables&lt;/code&gt; in 
&lt;code class=&quot;highlighter-rouge&quot;&gt;cassandra.yaml&lt;/code&gt; and 
is enabled by default. Even though this feature is enabled, it will respect the 
throttling limits as defined by &lt;code 
class=&quot;highlighter-rouge&quot;&gt;stream_throughput_outbound_megabits_per_sec&lt;/code&gt;.&lt;/p&gt;
+
+&lt;h2 id=&quot;impact&quot;&gt;Impact&lt;/h2&gt;
+
+&lt;p&gt;Cassandra can stream SSTables only bounded by the hardware 
limitations (Network and Disk IO). With this optimization, we hope to make 
Cassandra more performant and reliable.&lt;/p&gt;
+
+&lt;p&gt;Microbenchmarking this feature shows a marked improvement (higher is 
better). Block Stream Writers are the ZeroCopy writers and Partial Stream 
Writers are the existing writers.&lt;/p&gt;
+
+&lt;table class=&quot;table-condensed table-bordered table-hover&quot;&gt;
+  &lt;thead&gt;
+    &lt;tr&gt;
+      &lt;th&gt;Benchmark&lt;/th&gt;
+      &lt;th&gt;Mode&lt;/th&gt;
+      &lt;th&gt;Cnt&lt;/th&gt;
+      &lt;th&gt;Score&lt;/th&gt;
+      &lt;th&gt;Error&lt;/th&gt;
+      &lt;th&gt;Units&lt;/th&gt;
+    &lt;/tr&gt;
+  &lt;/thead&gt;
+  &lt;tbody&gt;
+    &lt;tr&gt;
+      &lt;td&gt;ZeroCopyStreamingBenchmark.blockStreamReader&lt;/td&gt;
+      &lt;td&gt;thrpt&lt;/td&gt;
+      &lt;td&gt;10&lt;/td&gt;
+      &lt;td&gt;20.119&lt;/td&gt;
+      &lt;td&gt;± 1.300&lt;/td&gt;
+      &lt;td&gt;ops/s&lt;/td&gt;
+    &lt;/tr&gt;
+    &lt;tr&gt;
+      &lt;td&gt;ZeroCopyStreamingBenchmark.blockStreamWriter&lt;/td&gt;
+      &lt;td&gt;thrpt&lt;/td&gt;
+      &lt;td&gt;10&lt;/td&gt;
+      &lt;td&gt;1339.672&lt;/td&gt;
+      &lt;td&gt;± 352.242&lt;/td&gt;
+      &lt;td&gt;ops/s&lt;/td&gt;
+    &lt;/tr&gt;
+    &lt;tr&gt;
+      &lt;td&gt;ZeroCopyStreamingBenchmark.partialStreamReader&lt;/td&gt;
+      &lt;td&gt;thrpt&lt;/td&gt;
+      &lt;td&gt;10&lt;/td&gt;
+      &lt;td&gt;0.590&lt;/td&gt;
+      &lt;td&gt;± 0.135&lt;/td&gt;
+      &lt;td&gt;ops/s&lt;/td&gt;
+    &lt;/tr&gt;
+    &lt;tr&gt;
+      &lt;td&gt;ZeroCopyStreamingBenchmark.partialStreamWriter&lt;/td&gt;
+      &lt;td&gt;thrpt&lt;/td&gt;
+      &lt;td&gt;10&lt;/td&gt;
+      &lt;td&gt;17.556&lt;/td&gt;
+      &lt;td&gt;± 0.323&lt;/td&gt;
+      &lt;td&gt;ops/s&lt;/td&gt;
+    &lt;/tr&gt;
+  &lt;/tbody&gt;
+&lt;/table&gt;
+
+&lt;h2 id=&quot;conclusion&quot;&gt;Conclusion&lt;/h2&gt;
+
+&lt;p&gt;If you’re a Cassandra user, we would love to hear back from you. 
Please send us feedback via user &lt;a 
href=&quot;http://cassandra.apache.org/community/&quot;&gt;Mailing 
List&lt;/a&gt;, &lt;a 
href=&quot;https://issues.apache.org/jira/projects/CASSANDRA/summary&quot;&gt;Jira&lt;/a&gt;,
 or &lt;a 
href=&quot;http://cassandra.apache.org/community/&quot;&gt;IRC&lt;/a&gt; (or 
any combination of the three).&lt;/p&gt;</content><author><name>The Apache 
Cassandra Community</name></author><summary type="html">Streaming in Apache 
Cassandra powers host replacement, range movements, and cluster expansions. 
Streaming plays a crucial role in the cluster and as such its performance is 
key to not only the speed of the operations its used in but the cluster’s 
health generally. In Apache Cassandra 4.0, we have introduced an improved 
streaming implementation that reduces GC pressure and increases throughput 
several folds and are now limited, in some cases, only by the disk / network I
 O (See: CASSANDRA-14556).</summary></entry></feed>
\ No newline at end of file



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to