[ https://issues.apache.org/jira/browse/CASSANDRA-5699?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13696170#comment-13696170 ]
Jonathan Ellis commented on CASSANDRA-5699: ------------------------------------------- Is the "stream lifecycle" documented anywhere the way we did in 1.2 StreamOut? NB: this patches StreamingRepairTask, which does not exist in current trunk. > Streaming (2.0) can deadlock > ---------------------------- > > Key: CASSANDRA-5699 > URL: https://issues.apache.org/jira/browse/CASSANDRA-5699 > Project: Cassandra > Issue Type: Bug > Reporter: Sylvain Lebresne > Assignee: Sylvain Lebresne > Fix For: 2.0 beta 1 > > Attachments: 5699.txt > > > The new streaming implementation (CASSANDRA-5286) creates 2 threads per host > for streaming, one for the incoming stream and one for the outgoing one. > However, both currently share the same socket, but since we use synchronous > I/O, a read can block a write, which can result in a deadlock if 2 nodes are > both blocking on a read a the same time, thus blocking their respective > writes (this is actually fairly easy to reproduce with a simple repair). > So instead attaching a patch that uses one socket per thread. > The patch also correct the stream throughput throttling calculation that was > 8000 times lower than what it should be. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira