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

Nirmal Ranganathan commented on CASSANDRA-1189:
-----------------------------------------------

I'll attach a fix with all the suggested changes.
- SO.transferSSTablesForRequest does enqueue files, but not for transfer, it 
waits on the requesting node to get a file at a time. I think moving the remove 
to FileStreamTask will put it into one location, instead of 
StreamRequestVerbHandler and StreamOut. Was that what you had in mind for it?
- For the streaming metadata, we can consolidate StreamRequestMetadata & 
StreamRequestMessage. The PendingFile contains specific file metadata, 
StreamContext is used for all stream related messages. StreamHeader is only 
used with streaming. I'll see how much I can simplify with the first fix and we 
can proceed from there.

> Refactor streaming
> ------------------
>
>                 Key: CASSANDRA-1189
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1189
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>    Affects Versions: 0.7 beta 1
>            Reporter: Gary Dusbabek
>            Assignee: Nirmal Ranganathan
>            Priority: Critical
>             Fix For: 0.7.0
>
>         Attachments: 
> 0001-Refactored-streaming-to-make-it-more-streamlined.patch, 
> 0002-Test-cases-for-Streaming-Messages.patch
>
>
> The current architecture is buggy because it makes the assumption that only 
> one stream can be in process between two nodes at a given time, and stream 
> send order never changes.  Because of this, the ACK process gets fouled up 
> when other services wish to stream files.
> The process is somewhat contorted too (request, initiate, initiate done, 
> send).

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

Reply via email to