[ https://issues.apache.org/jira/browse/CASSANDRA-9454?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Michael Semb Wever updated CASSANDRA-9454: ------------------------------------------ Resolution: Duplicate Status: Resolved (was: Awaiting Feedback) Fixed by CASSANDRA-17186 > Log WARN on Multi Partition IN clause Queries > --------------------------------------------- > > Key: CASSANDRA-9454 > URL: https://issues.apache.org/jira/browse/CASSANDRA-9454 > Project: Cassandra > Issue Type: Improvement > Components: Legacy/CQL > Reporter: Sebastian Estevez > Assignee: T Jake Luciani > Priority: Low > Fix For: 3.0.x, 3.11.x, 4.0.x, 4.1.x, 5.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 (v8.20.10#820010) --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org