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

Aleksey Yeschenko commented on CASSANDRA-14556:
-----------------------------------------------

Just to be clear - what I want to look at and verify is that there are no 
broader interactions missed here, things that someone new to C* codebase 
wouldn't necessarily notice or consider. I do trust Ariel's review of the lower 
level logic and don't intend to do a thorough review of that.

After a very quick skim, off the top of my head: the patch breaks counters if 
pre-2.0 shards are still around (and there is nothing there to remove them, so 
it's just a matter of the table having lived long enough). Receiving side needs 
to convert acquired received local shards into remote ones, to not break 
reconcile logic.

See 
[here|https://github.com/apache/cassandra/blob/645d8278bcf6281c8272f82d0d661e386a7cbe7d/src/java/org/apache/cassandra/db/streaming/CassandraStreamReader.java#L265-L273].
 As such, {{shouldStreamFullSSTable()}} should be modified to only return true 
for counter tables if there are no legacy shards present (see 
{{StatsMetadata.hasLegacyCounterShards}}).

> Optimize streaming path in Cassandra
> ------------------------------------
>
>                 Key: CASSANDRA-14556
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-14556
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Streaming and Messaging
>            Reporter: Dinesh Joshi
>            Assignee: Dinesh Joshi
>            Priority: Major
>              Labels: Performance
>             Fix For: 4.x
>
>
> During streaming, Cassandra reifies the sstables into objects. This creates 
> unnecessary garbage and slows down the whole streaming process as some 
> sstables can be transferred as a whole file rather than individual 
> partitions. The objective of the ticket is to detect when a whole sstable can 
> be transferred and skip the object reification. We can also use a zero-copy 
> path to avoid bringing data into user-space on both sending and receiving 
> side.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org

Reply via email to