You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Taylan Develioglu (JIRA)" <ji...@apache.org> on 2013/08/20 13:03:52 UTC

[jira] [Commented] (CASSANDRA-5903) Integer overflow in OffHeapBitSet when bloomfilter > 2GB

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

Taylan Develioglu commented on CASSANDRA-5903:
----------------------------------------------

Added relevant stacktrace

DEBUG [CompactionExecutor:116] 2013-08-19 17:06:07,543 CompactionTask.java (line 115) Expected bloom filter size : 1830440832
ERROR [CompactionExecutor:116] 2013-08-19 17:06:07,584 CassandraDaemon.java (line 192) Exception in thread Thread[CompactionExecutor:116,1,main]
java.lang.IllegalArgumentException
        at org.apache.cassandra.io.util.Memory.allocate(Memory.java:58)
        at org.apache.cassandra.utils.obs.OffHeapBitSet.<init>(OffHeapBitSet.java:40)
        at org.apache.cassandra.utils.FilterFactory.createFilter(FilterFactory.java:143)
        at org.apache.cassandra.utils.FilterFactory.getFilter(FilterFactory.java:137)
        at org.apache.cassandra.utils.FilterFactory.getFilter(FilterFactory.java:126)
        at org.apache.cassandra.io.sstable.SSTableWriter$IndexWriter.<init>(SSTableWriter.java:446)
        at org.apache.cassandra.io.sstable.SSTableWriter.<init>(SSTableWriter.java:92)
        at org.apache.cassandra.db.ColumnFamilyStore.createCompactionWriter(ColumnFamilyStore.java:1983)
        at org.apache.cassandra.db.compaction.CompactionTask.runWith(CompactionTask.java:143)
        at org.apache.cassandra.io.util.DiskAwareRunnable.runMayThrow(DiskAwareRunnable.java:48)
        at org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:28)
        at org.apache.cassandra.db.compaction.CompactionTask.executeInternal(CompactionTask.java:58)
        at org.apache.cassandra.db.compaction.AbstractCompactionTask.execute(AbstractCompactionTask.java:60)
        at org.apache.cassandra.db.compaction.CompactionManager$BackgroundCompactionTask.run(CompactionManager.java:211)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
        at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
        at java.util.concurrent.FutureTask.run(FutureTask.java:166)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at java.lang.Thread.run(Thread.java:724)

                
> Integer overflow in OffHeapBitSet when bloomfilter > 2GB
> --------------------------------------------------------
>
>                 Key: CASSANDRA-5903
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-5903
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>            Reporter: Taylan Develioglu
>             Fix For: 1.2.9
>
>
> In org.apache.cassandra.utils.obs.OffHeapBitSet.
> byteCount overflows and causes an IllegalArgument exception in Memory.allocate when bloomfilter is > 2GB.
> Suggest changing byteCount to long.
> {code:title=OffHeapBitSet.java}
>     public OffHeapBitSet(long numBits)
>     {
>         // OpenBitSet.bits2words calculation is there for backward compatibility.
>         int byteCount = OpenBitSet.bits2words(numBits) * 8;
>         bytes = RefCountedMemory.allocate(byteCount);
>         // flush/clear the existing memory.
>         clear();
>     }
> {code}

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