[ https://issues.apache.org/jira/browse/CASSANDRA-4297?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13293900#comment-13293900 ]
Jonathan Ellis commented on CASSANDRA-4297: ------------------------------------------- LGTM, +1. bq. The reason why I use Set here is to eliminate duplicate chunks. Given two different file section can be mapped to just one chunk Can you expand the "since sections are not guaranteed to be sorted" comment to elaborate on that? (Still might be a bit cleaner to just new ArrayList(set) instead of manually copying to array; performance difference would be negligible.) > Use java NIO as much as possible when streaming compressed SSTables > ------------------------------------------------------------------- > > Key: CASSANDRA-4297 > URL: https://issues.apache.org/jira/browse/CASSANDRA-4297 > Project: Cassandra > Issue Type: Improvement > Reporter: Yuki Morishita > Assignee: Yuki Morishita > Priority: Minor > Labels: streaming > Fix For: 1.2 > > Attachments: 4297-v2.txt, 4297.txt > > > Back in 0.8, streaming uses java NIO (FileChannel#transferTo/transferFrom) to > perform zero copy file transfer between nodes. Since 1.0, in order to add new > features like sstable compression and internode encryption we had to switch > to java IO Input/OutputStreams. What we currently do to transfer compressed > SSTable is, in source node, 1) decompress chunk in SSTable, 2) compress using > LZF for network, and in destination node, 3) decompress using LZF as reading > from socket, 4) compress for SSTable on disk. > Now, 1.1 comes out with SSTable compression turned on by default. It is > reasonable to transfer compressed file as is using NIO instead of > decompress/compress in source node. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira