You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Jonathan Ellis (JIRA)" <ji...@apache.org> on 2012/12/26 17:02:12 UTC

[jira] [Updated] (CASSANDRA-5088) Major compaction IOException in 1.1.8

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

Jonathan Ellis updated CASSANDRA-5088:
--------------------------------------

    Attachment: 5088.txt

... Testing w/o compression won't be necessary, this is clearly a problem with the compression code only.

This looks like the following JDK bug: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6322678

It is marked fixed in JDK7, but inspection of JDK6u38 source looks like the fix is there as well.  Not sure how early the fix was made in JDK6.

So upgrading to the latest jdk6 or jdk7 should fix the problem.  I've also attached a workaround for platforms (basically: Mac OS users running DSE) where that isn't an option.
                
> Major compaction IOException in 1.1.8
> -------------------------------------
>
>                 Key: CASSANDRA-5088
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-5088
>             Project: Cassandra
>          Issue Type: Bug
>    Affects Versions: 1.1.8
>            Reporter: Karl Mueller
>         Attachments: 5088.txt
>
>
> Upgraded 1.1.6 to 1.1.8.
> Now I'm trying to do a major compaction, and seeing this:
> ERROR [CompactionExecutor:129] 2012-12-22 10:33:44,217 AbstractCassandraDaemon.java (line 135) Exception in thread Thread[CompactionExecutor:129,1,RMI Runtime]
> java.io.IOError: java.io.IOException: Bad file descriptor
>         at org.apache.cassandra.utils.MergeIterator.close(MergeIterator.java:65)
>         at org.apache.cassandra.db.compaction.CompactionTask.execute(CompactionTask.java:195)
>         at org.apache.cassandra.db.compaction.CompactionManager$7.runMayThrow(CompactionManager.java:298)
>         at org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:30)
>         at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
>         at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
>         at java.util.concurrent.FutureTask.run(FutureTask.java:138)
>         at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>         at java.lang.Thread.run(Thread.java:619)
> Caused by: java.io.IOException: Bad file descriptor
>         at sun.nio.ch.FileDispatcher.preClose0(Native Method)
>         at sun.nio.ch.FileDispatcher.preClose(FileDispatcher.java:59)
>         at sun.nio.ch.FileChannelImpl.implCloseChannel(FileChannelImpl.java:96)
>         at java.nio.channels.spi.AbstractInterruptibleChannel.close(AbstractInterruptibleChannel.java:97)
>         at java.io.FileInputStream.close(FileInputStream.java:258)
>         at org.apache.cassandra.io.compress.CompressedRandomAccessReader.close(CompressedRandomAccessReader.java:131)
>         at sun.nio.ch.FileChannelImpl.implCloseChannel(FileChannelImpl.java:121)
>         at java.nio.channels.spi.AbstractInterruptibleChannel.close(AbstractInterruptibleChannel.java:97)
>         at java.io.RandomAccessFile.close(RandomAccessFile.java:541)
>         at org.apache.cassandra.io.util.RandomAccessReader.close(RandomAccessReader.java:224)
>         at org.apache.cassandra.io.compress.CompressedRandomAccessReader.close(CompressedRandomAccessReader.java:130)
>         at org.apache.cassandra.io.sstable.SSTableScanner.close(SSTableScanner.java:89)
>         at org.apache.cassandra.utils.MergeIterator.close(MergeIterator.java:61)
>         ... 9 more

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira