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