You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Jonathan Ellis (JIRA)" <ji...@apache.org> on 2009/11/24 20:19:39 UTC

[jira] Commented: (CASSANDRA-579) Add support to io.Streaming API for sending Streams

    [ https://issues.apache.org/jira/browse/CASSANDRA-579?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12782104#action_12782104 ] 

Jonathan Ellis commented on CASSANDRA-579:
------------------------------------------

expanding Streaming is fine, but it's not as straightforward as you might think because it is completely based around FileChannel.transferTo, which on Linux at least is a thin wrapper around the sendfile system call

> Add support to io.Streaming API for sending Streams
> ---------------------------------------------------
>
>                 Key: CASSANDRA-579
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-579
>             Project: Cassandra
>          Issue Type: Improvement
>            Reporter: Stu Hood
>            Priority: Minor
>             Fix For: 0.9
>
>
> The io.Streaming API currently requires a file on disk to stream, which means that bootstrap and repairs need to perform an anti-compaction that writes a bunch of data to disk, only to have it be deleted after the streaming has finished.
> Ideally, the Streaming API should allow for streaming from an InputStream (or any other class we think we need to design to make the streaming as efficient as possible). That way, anti-compaction for repair/bootstrap does not perform any writing: it simply streams the relevant portion of the file to the neighbor.
> Additionally, this opens up interesting possibilities, such as providing the Streaming API as a (Java only?) client API. One use case would be for a Hadoop OutputFormat: rather than writing BinaryMemtables, the OutputFormat could literally write an SSTable to the stream. This might require better integration with gossip, to ensure that you aren't writing to the completely wrong node.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.