cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sylvain Lebresne (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CASSANDRA-9454) Log WARN on Multi Partition IN clause Queries
Date Tue, 05 Jan 2016 14:37:39 GMT

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

Sylvain Lebresne commented on CASSANDRA-9454:
---------------------------------------------

The ticket is marked "ready to commit" but I'm not confident this is correct given the last
comments. [~tjake][~snazy], can one of you guys clarify the situation (and update the status
if needs be).

> Log WARN on Multi Partition IN clause Queries
> ---------------------------------------------
>
>                 Key: CASSANDRA-9454
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-9454
>             Project: Cassandra
>          Issue Type: New Feature
>          Components: CQL
>            Reporter: Sebastian Estevez
>            Assignee: T Jake Luciani
>            Priority: Minor
>             Fix For: 2.2.x
>
>
> Similar to CASSANDRA-6487 but for multi-partition queries.
> Show warning (ideally at the client CASSANDRA-8930) when users try to use IN clauses
when clustering columns span multiple partitions. The right way to go is async requests per
partition.
> **Update**: Unless the query is CL.ONE and all the partition ranges are on the node!
In which case multi partition IN is okay.
> This can cause an OOM
> {code}
> ERROR [Thread-388] 2015-05-18 12:11:10,147 CassandraDaemon.java (line 199) Exception
in thread Thread[Thread-388,5,main]
> java.lang.OutOfMemoryError: Java heap space
> ERROR [ReadStage:321] 2015-05-18 12:11:10,147 CassandraDaemon.java (line 199) Exception
in thread Thread[ReadStage:321,5,main]
> java.lang.OutOfMemoryError: Java heap space
>     at java.nio.HeapByteBuffer.<init>(HeapByteBuffer.java:57)
>     at java.nio.ByteBuffer.allocate(ByteBuffer.java:331)
>     at org.apache.cassandra.io.util.MappedFileDataInput.readBytes(MappedFileDataInput.java:146)
>     at org.apache.cassandra.utils.ByteBufferUtil.read(ByteBufferUtil.java:392)
>     at org.apache.cassandra.utils.ByteBufferUtil.readWithShortLength(ByteBufferUtil.java:371)
>     at org.apache.cassandra.io.sstable.IndexHelper$IndexInfo.deserialize(IndexHelper.java:187)
>     at org.apache.cassandra.db.RowIndexEntry$Serializer.deserialize(RowIndexEntry.java:122)
>     at org.apache.cassandra.io.sstable.SSTableReader.getPosition(SSTableReader.java:970)
>     at org.apache.cassandra.io.sstable.SSTableReader.getPosition(SSTableReader.java:871)
>     at org.apache.cassandra.db.columniterator.SSTableSliceIterator.<init>(SSTableSliceIterator.java:41)
>     at org.apache.cassandra.db.filter.SliceQueryFilter.getSSTableColumnIterator(SliceQueryFilter.java:167)
>     at org.apache.cassandra.db.filter.QueryFilter.getSSTableColumnIterator(QueryFilter.java:62)
>     at org.apache.cassandra.db.CollationController.collectAllData(CollationController.java:250)
>     at org.apache.cassandra.db.CollationController.getTopLevelColumns(CollationController.java:53)
>     at org.apache.cassandra.db.ColumnFamilyStore.getTopLevelColumns(ColumnFamilyStore.java:1547)
>     at org.apache.cassandra.db.ColumnFamilyStore.getColumnFamily(ColumnFamilyStore.java:1376)
>     at org.apache.cassandra.db.Keyspace.getRow(Keyspace.java:327)
>     at org.apache.cassandra.db.SliceFromReadCommand.getRow(SliceFromReadCommand.java:65)
>     at org.apache.cassandra.db.ReadVerbHandler.doVerb(ReadVerbHandler.java:47)
>     at org.apache.cassandra.net.MessageDeliveryTask.run(MessageDeliveryTask.java:60)
>     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)
> {code}
> By flooding heap with:
> {code}org.apache.cassandra.io.sstable.IndexHelper$IndexInfo{code}
> taken from:
> http://stackoverflow.com/questions/30366729/out-of-memory-error-in-cassandra-when-querying-big-rows-containing-a-collection



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message