[
https://issues.apache.org/jira/browse/CASSANDRA-7330?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14015989#comment-14015989
]
Joshua McKenzie commented on CASSANDRA-7330:
--------------------------------------------
After rebasing CASSANDRA-3569 to trunk and applying this patch I was unable to
reproduce the assertion; it looks like CASSANDRA-7262 cleared this problem up.
Prior to StreamSession.closeSession() being idempotent, multiple calls to
StreamReceiveTask.abort() were being processed leading to duplicate frees and
the assertion in Memory.java.
> Infinite loop in StreamReader.read during exception condition while running
> repair
> ----------------------------------------------------------------------------------
>
> Key: CASSANDRA-7330
> URL: https://issues.apache.org/jira/browse/CASSANDRA-7330
> Project: Cassandra
> Issue Type: Bug
> Environment: 2.0.8+
> Reporter: Joshua McKenzie
> Assignee: Joshua McKenzie
> Priority: Minor
> Labels: Core
> Fix For: 2.0.9
>
> Attachments: 7330_v1.txt
>
>
> InputStream.skip is returning -1 during exception conditions which leads the
> following logic to infinite loop:
> {code:title=loop}
> protected void drain(InputStream dis, long bytesRead) throws IOException
> {
> long toSkip = totalSize() - bytesRead;
> toSkip = toSkip - dis.skip(toSkip);
> while (toSkip > 0)
> toSkip = toSkip - dis.skip(toSkip);
> }
> {code}
--
This message was sent by Atlassian JIRA
(v6.2#6252)