You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Sylvain Lebresne (JIRA)" <ji...@apache.org> on 2011/06/20 14:35:47 UTC
[jira] [Created] (CASSANDRA-2797) Repair hangs if a neighbor has
nothing to send
Repair hangs if a neighbor has nothing to send
-----------------------------------------------
Key: CASSANDRA-2797
URL: https://issues.apache.org/jira/browse/CASSANDRA-2797
Project: Cassandra
Issue Type: Bug
Components: Core
Affects Versions: 0.7.6
Reporter: Sylvain Lebresne
Assignee: Sylvain Lebresne
Priority: Minor
Fix For: 0.7.7, 0.8.2
Attachments: 0001-Always-initiate-streaming-transfer-to-notify-remote-.patch
This is actually a streaming problem. If a StreamOutSession has nothing to transfer (i.e, no sstables have the requested ranges), it will not even initiate the transfer and simply close the session right away. The problem is that if the session was initiated by a remote end (through a StreamRequestMessage), the remote end will never be notified and never run his callback.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (CASSANDRA-2797) Repair hangs if a neighbor has
nothing to send
Posted by "Hudson (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/CASSANDRA-2797?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13052173#comment-13052173 ]
Hudson commented on CASSANDRA-2797:
-----------------------------------
Integrated in Cassandra-0.8 #178 (See [https://builds.apache.org/job/Cassandra-0.8/178/])
fix repair hanging if a neighbor has nothing to send
patch by slebresne; reviewed by jbellis for CASSANDRA-2797
slebresne : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1137711
Files :
* /cassandra/branches/cassandra-0.8/CHANGES.txt
* /cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/streaming/StreamOut.java
> Repair hangs if a neighbor has nothing to send
> -----------------------------------------------
>
> Key: CASSANDRA-2797
> URL: https://issues.apache.org/jira/browse/CASSANDRA-2797
> Project: Cassandra
> Issue Type: Bug
> Components: Core
> Affects Versions: 0.8.0
> Reporter: Sylvain Lebresne
> Assignee: Sylvain Lebresne
> Priority: Minor
> Labels: repair, streaming
> Fix For: 0.8.2
>
> Attachments: 0001-Always-initiate-streaming-transfer-to-notify-remote-.patch
>
>
> This is actually a streaming problem. If a StreamOutSession has nothing to transfer (i.e, no sstables have the requested ranges), it will not even initiate the transfer and simply close the session right away. The problem is that if the session was initiated by a remote end (through a StreamRequestMessage), the remote end will never be notified and never run his callback.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (CASSANDRA-2797) Repair hangs if a neighbor has
nothing to send
Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/CASSANDRA-2797?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13052076#comment-13052076 ]
Jonathan Ellis commented on CASSANDRA-2797:
-------------------------------------------
+1
> Repair hangs if a neighbor has nothing to send
> -----------------------------------------------
>
> Key: CASSANDRA-2797
> URL: https://issues.apache.org/jira/browse/CASSANDRA-2797
> Project: Cassandra
> Issue Type: Bug
> Components: Core
> Affects Versions: 0.8.0
> Reporter: Sylvain Lebresne
> Assignee: Sylvain Lebresne
> Priority: Minor
> Labels: repair, streaming
> Fix For: 0.8.2
>
> Attachments: 0001-Always-initiate-streaming-transfer-to-notify-remote-.patch
>
>
> This is actually a streaming problem. If a StreamOutSession has nothing to transfer (i.e, no sstables have the requested ranges), it will not even initiate the transfer and simply close the session right away. The problem is that if the session was initiated by a remote end (through a StreamRequestMessage), the remote end will never be notified and never run his callback.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Updated] (CASSANDRA-2797) Repair hangs if a neighbor has
nothing to send
Posted by "Sylvain Lebresne (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/CASSANDRA-2797?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Sylvain Lebresne updated CASSANDRA-2797:
----------------------------------------
Fix Version/s: (was: 0.8.2)
0.8.1
> Repair hangs if a neighbor has nothing to send
> -----------------------------------------------
>
> Key: CASSANDRA-2797
> URL: https://issues.apache.org/jira/browse/CASSANDRA-2797
> Project: Cassandra
> Issue Type: Bug
> Components: Core
> Affects Versions: 0.8.0
> Reporter: Sylvain Lebresne
> Assignee: Sylvain Lebresne
> Priority: Minor
> Labels: repair, streaming
> Fix For: 0.8.1
>
> Attachments: 0001-Always-initiate-streaming-transfer-to-notify-remote-.patch
>
>
> This is actually a streaming problem. If a StreamOutSession has nothing to transfer (i.e, no sstables have the requested ranges), it will not even initiate the transfer and simply close the session right away. The problem is that if the session was initiated by a remote end (through a StreamRequestMessage), the remote end will never be notified and never run his callback.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Updated] (CASSANDRA-2797) Repair hangs if a neighbor has
nothing to send
Posted by "Sylvain Lebresne (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/CASSANDRA-2797?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Sylvain Lebresne updated CASSANDRA-2797:
----------------------------------------
Attachment: (was: 0001-Always-initiate-streaming-transfer-to-notify-remote-.patch)
> Repair hangs if a neighbor has nothing to send
> -----------------------------------------------
>
> Key: CASSANDRA-2797
> URL: https://issues.apache.org/jira/browse/CASSANDRA-2797
> Project: Cassandra
> Issue Type: Bug
> Components: Core
> Affects Versions: 0.7.6
> Reporter: Sylvain Lebresne
> Assignee: Sylvain Lebresne
> Priority: Minor
> Labels: repair, streaming
> Fix For: 0.7.7, 0.8.2
>
>
> This is actually a streaming problem. If a StreamOutSession has nothing to transfer (i.e, no sstables have the requested ranges), it will not even initiate the transfer and simply close the session right away. The problem is that if the session was initiated by a remote end (through a StreamRequestMessage), the remote end will never be notified and never run his callback.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Updated] (CASSANDRA-2797) Repair hangs if a neighbor has
nothing to send
Posted by "Sylvain Lebresne (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/CASSANDRA-2797?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Sylvain Lebresne updated CASSANDRA-2797:
----------------------------------------
Attachment: 0001-Always-initiate-streaming-transfer-to-notify-remote-.patch
Apparently the code was already wired to handle initiating a session with nothing to transfer, but a if prevented that code path. Patch attached against 0.7.
> Repair hangs if a neighbor has nothing to send
> -----------------------------------------------
>
> Key: CASSANDRA-2797
> URL: https://issues.apache.org/jira/browse/CASSANDRA-2797
> Project: Cassandra
> Issue Type: Bug
> Components: Core
> Affects Versions: 0.7.6
> Reporter: Sylvain Lebresne
> Assignee: Sylvain Lebresne
> Priority: Minor
> Labels: repair, streaming
> Fix For: 0.7.7, 0.8.2
>
> Attachments: 0001-Always-initiate-streaming-transfer-to-notify-remote-.patch
>
>
> This is actually a streaming problem. If a StreamOutSession has nothing to transfer (i.e, no sstables have the requested ranges), it will not even initiate the transfer and simply close the session right away. The problem is that if the session was initiated by a remote end (through a StreamRequestMessage), the remote end will never be notified and never run his callback.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Updated] (CASSANDRA-2797) Repair hangs if a neighbor has
nothing to send
Posted by "Sylvain Lebresne (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/CASSANDRA-2797?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Sylvain Lebresne updated CASSANDRA-2797:
----------------------------------------
Attachment: 0001-Always-initiate-streaming-transfer-to-notify-remote-.patch
You are right. I hit this on 0.8 and wrongly assumed 0.7 was impacted too while this is actually a problem due to the mentioned refactor. Attaching patch against 0.8, 0.7 is not impacted.
> Repair hangs if a neighbor has nothing to send
> -----------------------------------------------
>
> Key: CASSANDRA-2797
> URL: https://issues.apache.org/jira/browse/CASSANDRA-2797
> Project: Cassandra
> Issue Type: Bug
> Components: Core
> Affects Versions: 0.8.0
> Reporter: Sylvain Lebresne
> Assignee: Sylvain Lebresne
> Priority: Minor
> Labels: repair, streaming
> Fix For: 0.8.2
>
> Attachments: 0001-Always-initiate-streaming-transfer-to-notify-remote-.patch
>
>
> This is actually a streaming problem. If a StreamOutSession has nothing to transfer (i.e, no sstables have the requested ranges), it will not even initiate the transfer and simply close the session right away. The problem is that if the session was initiated by a remote end (through a StreamRequestMessage), the remote end will never be notified and never run his callback.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Updated] (CASSANDRA-2797) Repair hangs if a neighbor has
nothing to send
Posted by "Sylvain Lebresne (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/CASSANDRA-2797?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Sylvain Lebresne updated CASSANDRA-2797:
----------------------------------------
Affects Version/s: (was: 0.7.6)
0.8.0
Fix Version/s: (was: 0.7.7)
> Repair hangs if a neighbor has nothing to send
> -----------------------------------------------
>
> Key: CASSANDRA-2797
> URL: https://issues.apache.org/jira/browse/CASSANDRA-2797
> Project: Cassandra
> Issue Type: Bug
> Components: Core
> Affects Versions: 0.8.0
> Reporter: Sylvain Lebresne
> Assignee: Sylvain Lebresne
> Priority: Minor
> Labels: repair, streaming
> Fix For: 0.8.2
>
> Attachments: 0001-Always-initiate-streaming-transfer-to-notify-remote-.patch
>
>
> This is actually a streaming problem. If a StreamOutSession has nothing to transfer (i.e, no sstables have the requested ranges), it will not even initiate the transfer and simply close the session right away. The problem is that if the session was initiated by a remote end (through a StreamRequestMessage), the remote end will never be notified and never run his callback.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (CASSANDRA-2797) Repair hangs if a neighbor has
nothing to send
Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/CASSANDRA-2797?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13052018#comment-13052018 ]
Jonathan Ellis commented on CASSANDRA-2797:
-------------------------------------------
I thought transferSSTables is supposed to be only called for locally-initiated transfers, and transferRangesForRequest is for ones initiated remotely. (Confusing, I know. This got cleaned up in 0.8.)
> Repair hangs if a neighbor has nothing to send
> -----------------------------------------------
>
> Key: CASSANDRA-2797
> URL: https://issues.apache.org/jira/browse/CASSANDRA-2797
> Project: Cassandra
> Issue Type: Bug
> Components: Core
> Affects Versions: 0.7.6
> Reporter: Sylvain Lebresne
> Assignee: Sylvain Lebresne
> Priority: Minor
> Labels: repair, streaming
> Fix For: 0.7.7, 0.8.2
>
> Attachments: 0001-Always-initiate-streaming-transfer-to-notify-remote-.patch
>
>
> This is actually a streaming problem. If a StreamOutSession has nothing to transfer (i.e, no sstables have the requested ranges), it will not even initiate the transfer and simply close the session right away. The problem is that if the session was initiated by a remote end (through a StreamRequestMessage), the remote end will never be notified and never run his callback.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira