[ 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.