cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Apache Wiki <>
Subject [Cassandra Wiki] Update of "Streaming" by NirmalRanganathan
Date Fri, 06 Aug 2010 17:23:09 GMT
Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Cassandra Wiki" for change notification.

The "Streaming" page has been changed by NirmalRanganathan.


- There are two main instances of streaming: 
+ There are two main instances of streaming (post 0.7): 
   * Transfer - Occurs when a Source pushes SSTables for certain ranges to a Destination.
Initiated and controlled by the Source.
   * Request - Occurs when a Destination requests a set of ranges from a Source. Initiated
and controlled by the Destination.
@@ -22, +22 @@

   1. Destination then takes the lead and requests the remaining files one at a time. If an
error occurs it re-requests the same file, if not continues with the next file until done.
   1. Source streams each of the requested files. The files are already anti-compacted, so
it just streams them to the Destination.
+ === Transfer (0.6 and below) ===
+  1. Source starts with STREAM_INITIATE (Prepares the request ranges and sends a list of
pending files)
+  1. Destination acknowledge with STREAM_INITIATE_DONE (Adds to list of pending files per
+  1. Source starts streaming the first file from the list of files it has prepared for that
Destination node.
+  1. Destination receives the file returns a Stream_Status. Here the order of the files is
maintained and only one transfer from a node can happen.
+  1. Source based on status, restreams file or streams the next file until complete.
+ === Request (0.6 and below) ===
+  1. Destination invokes STREAM_REQUEST (Compiles a set of ranges that it needs from the
+  1. From this point on the steps in Transfer (0.6) are followed.
+ ''Note: Order is very important in 0.6 streaming and the source can only transfer one file
at a time, and the destination can only receive one set of transfers from a source at any
instant. Multiple streams would break the process.''
  == Streaming Invocations ==
  Streaming in Cassandra between nodes is invoked in the following contexts:
   1. '''Bootstrapping''' - During bootstrap the node requests ranges from other nodes. It
invokes ''Stream Request''.

View raw message