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

Vijay commented on CASSANDRA-5903:
----------------------------------

Not sure yet, still trying to figure it out (Since i am more curious)... A 
simple test shows it might run out after 17B to 18B keys in a single SSTable 
(thats a giant SST) :)

{code}
        for (int i = 0; i < 30; i++) {
            long items = (i * 1000000000L);
            System.out.println("Items: " + items + " byteCount: " + 
(OpenBitSet.bits2words(items) * 8));
        }
{code}

{noformat}
Items: 0 byteCount: 0
Items: 1000000000 byteCount: 125000000
Items: 2000000000 byteCount: 250000000
Items: 3000000000 byteCount: 375000000
Items: 4000000000 byteCount: 500000000
Items: 5000000000 byteCount: 625000000
Items: 6000000000 byteCount: 750000000
Items: 7000000000 byteCount: 875000000
Items: 8000000000 byteCount: 1000000000
Items: 9000000000 byteCount: 1125000000
Items: 10000000000 byteCount: 1250000000
Items: 11000000000 byteCount: 1375000000
Items: 12000000000 byteCount: 1500000000
Items: 13000000000 byteCount: 1625000000
Items: 14000000000 byteCount: 1750000000
Items: 15000000000 byteCount: 1875000000
Items: 16000000000 byteCount: 2000000000
Items: 17000000000 byteCount: 2125000000
Items: 18000000000 byteCount: -2044967296
Items: 19000000000 byteCount: -1919967296
Items: 20000000000 byteCount: -1794967296
...
{noformat}
                
> 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
>            Assignee: Vijay
>             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

Reply via email to