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

Benedict edited comment on CASSANDRA-8458 at 12/11/14 5:45 PM:
---------------------------------------------------------------

We could also try and figure out how/why this happens, as it should be able to 
stream safely.

Does it only happen if streaming a range that wraps zero (i.e. from +X, to -Y)? 

edit: To elaborate, I suspect the broken bit is that our dfile/ifile objects 
don't actually truncate the readable range - only our indexed decoratedkey 
range is truncated. In sstable.getPositionsForRanges we just return the end of 
the file if the range goes past the range of the file; in this case we could 
stream partially written data. If so, we could fix by simply making 
sstable.getPositionsForRanges() lookup the start position of the last key in 
the file, and always ensure we leave a key's overlap between the dropped 
sstables and the replacement.


was (Author: benedict):
We could also try and figure out how/why this happens, as it should be able to 
stream safely.

Does it only happen if streaming a range that wraps zero (i.e. from +X, to -Y)?

> Avoid streaming from tmplink files
> ----------------------------------
>
>                 Key: CASSANDRA-8458
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-8458
>             Project: Cassandra
>          Issue Type: Bug
>            Reporter: Marcus Eriksson
>            Assignee: Marcus Eriksson
>             Fix For: 2.1.3
>
>
> Looks like we include tmplink sstables in streams in 2.1+, and when we do, 
> sometimes we get this error message on the receiving side: 
> {{java.io.IOException: Corrupt input data, block did not start with 2 byte 
> signature ('ZV') followed by type byte, 2-byte length)}}. I've only seen this 
> happen when a tmplink sstable is included in the stream.
> We can not just exclude the tmplink files when starting the stream - we need 
> to include the original file, which we might miss since we check if the 
> requested stream range intersects the sstable range.



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

Reply via email to