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. http://wiki.apache.org/cassandra/Streaming?action=diff&rev1=5&rev2=6 -------------------------------------------------- - 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 node) + 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 source) + 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''.
