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

Yuki Morishita commented on CASSANDRA-10990:
--------------------------------------------

Thanks for the update. Here are my review comments.

* StreamDeserializer determines tmp directory to where disk can be hold 2 * the 
size of streaming SSTable, but isn't it too much? SSTable can be few hundred 
GB. You need to cap that.
* Speaking of capping the size of tmp buffer file, we may want to respect the 
parameter of {{InputStream#mark(int readLimit)}}. We just set read limit to 
2.147GB and make it the limitation of this functionality. Users can always 
upgradesstable if needed.
* RewindableInputStream - I don't think we need {{SyncUtil.sync}} on buffer 
file.
* RewindableInputStream only deletes buffer file at close, but it is not closed 
when stream finishes. You cannot close with {{RewindableInputStream#close}} 
because that will cause underlying socket to be closed.
* RewindableDataInputStreamPlus - {{bytesPastMark}} returns underlying stream's 
{{available()}}, but I don't think that is suitable there. {{available}} (by 
contract) just returns estimated bytes to be read without blocking. You should 
return {{pos}} from {{RewindableInputStream}}. That said, I think it is better 
to integrate {{RewindableDataInputStreamPlus}} and {{RewindableInputStream}}.
* Initial capacity seems to be set as 128 bytes, not 128 Kbytes. Also I prefer 
passing this value to constructor as well so you don't have to deal with 
{{System.setProperty}} in unit test.


> Support streaming of older version sstables in 3.0
> --------------------------------------------------
>
>                 Key: CASSANDRA-10990
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-10990
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Streaming and Messaging
>            Reporter: Jeremy Hanna
>            Assignee: Paulo Motta
>
> In 2.0 we introduced support for streaming older versioned sstables 
> (CASSANDRA-5772).  In 3.0, because of the rewrite of the storage layer, this 
> became no longer supported.  So currently, while 3.0 can read sstables in the 
> 2.1/2.2 format, it cannot stream the older versioned sstables.  We should do 
> some work to make this still possible to be consistent with what 
> CASSANDRA-5772 provided.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to