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

Jon Meredith commented on CASSANDRA-17510:
------------------------------------------

[PR|https://github.com/jonmeredith/cassandra/pull/new/C17510-streaming-three-min-timeout]
 
[Branch|https://github.com/jonmeredith/cassandra/tree/C17510-streaming-three-min-timeout]
 
[CircleCI|https://app.circleci.com/pipelines/github/jonmeredith/cassandra?branch=C17510-streaming-three-min-timeout&filter=all]

> Streaming sessions longer than 3 minutes fail with timeout
> ----------------------------------------------------------
>
>                 Key: CASSANDRA-17510
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-17510
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Consistency/Streaming
>            Reporter: Jon Meredith
>            Assignee: Jon Meredith
>            Priority: Normal
>             Fix For: 4.1
>
>
> Streaming sessions that take longer than 3 minutes will fail with an 
> InputTimeoutException on the streaming control channel connection.
> CASSANDRA-16927 refactored the streaming code as part of CEP-10 to clean up 
> some abstractions. As part of those changes the StreamDeserializingTask 
> (formerly StreamingInboundHandler) had a check removed that ensured data was 
> present before reading from the AsyncStreamingInputPlus used by 
> NettyStreamingChannel to pass incoming bytes to be deserialized off the main 
> Netty event loop threads. When {{reBuffer}ing from the input, 
> AsyncStreamingInputPlus times out if no data is received in three minutes.
> It is perfectly valid for no messages to be received over the control 
> connection for longer than three minutes - pre CASSANDRA-16927 just doesn’t 
> do the read until data is present, so it doesn’t hit the timeout. A possible 
> solution is to replace throwing the InputTimeoutException with a check that 
> the channel is still open and retry.
> Note this is unrelated to the streaming protocol KeepAlive removal - that had 
> a default timeout of five minutes so would not have been effective anyway.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

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

Reply via email to