get_indexed_slices throws OOM Error when is called with too big 
indexClause.count
---------------------------------------------------------------------------------

                 Key: CASSANDRA-3861
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-3861
             Project: Cassandra
          Issue Type: Bug
          Components: API, Core
    Affects Versions: 1.0.7
            Reporter: Vladimir Tsanev


I tried to call get_index_slices with Integer.MAX_VALUE as IndexClause.count. 
Unfortunately the node died with OOM. In the log there si following error:

ERROR [Thrift:4] 2012-02-06 17:43:39,224 Cassandra.java (line 3252) Internal 
error processing get_indexed_slices
java.lang.OutOfMemoryError: Java heap space
        at java.util.ArrayList.<init>(ArrayList.java:112)
        at 
org.apache.cassandra.service.StorageProxy.scan(StorageProxy.java:1067)
        at 
org.apache.cassandra.thrift.CassandraServer.get_indexed_slices(CassandraServer.java:746)
        at 
org.apache.cassandra.thrift.Cassandra$Processor$get_indexed_slices.process(Cassandra.java:3244)
        at 
org.apache.cassandra.thrift.Cassandra$Processor.process(Cassandra.java:2889)
        at 
org.apache.cassandra.thrift.CustomTThreadPoolServer$WorkerProcess.run(CustomTThreadPoolServer.java:187)
        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:662)


Is it necessary to allocate all the memory in advance. I only have 3 KEYS that 
match my caluse. I do not known the exact number but in general I am sure that 
they wil fit in the memory.
I can/will implement some calls with paging, but wanted to test and I am not 
happy with the fact the node disconnected.

I wonder why ArrayList is used here?
I think the result is never accessed by index (but only iterated) and the 
subList for non RandomAccess Lists (for example LinkedList) will do the same 
job if you are not using other operations than iteration.


Is this related to the problem described in CASSANDRA-691.



--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to