[ 
https://issues.apache.org/jira/browse/CASSANDRA-7330?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Joshua McKenzie updated CASSANDRA-7330:
---------------------------------------

    Attachment: 7330_v1.txt

Attaching a v1 that checks for -1 on drain and breaks if caught.

Generates the following exception which I'll want to track down - putting this 
v1 here for reference on CASSANDRA-3569 as it's a dependency for testing.

{code:title=exception}
ERROR 18:32:15 Exception in thread Thread[NonPeriodicTasks:1,5,main]
java.lang.AssertionError: null
        at org.apache.cassandra.io.util.Memory.free(Memory.java:299) ~[main/:na]
        at 
org.apache.cassandra.utils.obs.OffHeapBitSet.close(OffHeapBitSet.java:143) 
~[main/:na]
        at org.apache.cassandra.utils.BloomFilter.close(BloomFilter.java:116) 
~[main/:na]
        at 
org.apache.cassandra.io.sstable.SSTableWriter.abort(SSTableWriter.java:338) 
~[main/:na]
        at 
org.apache.cassandra.io.sstable.SSTableWriter.abort(SSTableWriter.java:326) 
~[main/:na]
        at 
org.apache.cassandra.streaming.StreamReceiveTask$1.run(StreamReceiveTask.java:133)
 ~[main/:na]
        at 
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) 
~[na:1.7.0_55]
        at java.util.concurrent.FutureTask.run(FutureTask.java:262) 
~[na:1.7.0_55]
        at 
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:178)
 ~[na:1.7.0_55]
        at 
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:292)
 ~[na:1.7.0_55]
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 
~[na:1.7.0_55]
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 
[na:1.7.0_55]
        at java.lang.Thread.run(Thread.java:745) [na:1.7.0_55]
{code}

> 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)

Reply via email to