Return-Path: X-Original-To: apmail-cassandra-commits-archive@www.apache.org Delivered-To: apmail-cassandra-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 4B74A1839C for ; Thu, 21 May 2015 19:18:18 +0000 (UTC) Received: (qmail 24950 invoked by uid 500); 21 May 2015 19:18:18 -0000 Delivered-To: apmail-cassandra-commits-archive@cassandra.apache.org Received: (qmail 24922 invoked by uid 500); 21 May 2015 19:18:18 -0000 Mailing-List: contact commits-help@cassandra.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@cassandra.apache.org Delivered-To: mailing list commits@cassandra.apache.org Received: (qmail 24904 invoked by uid 99); 21 May 2015 19:18:18 -0000 Received: from arcas.apache.org (HELO arcas.apache.org) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 21 May 2015 19:18:18 +0000 Date: Thu, 21 May 2015 19:18:17 +0000 (UTC) From: "Sebastian Estevez (JIRA)" To: commits@cassandra.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Updated] (CASSANDRA-9454) Log WARN on Multi Partition IN clause Queries MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ https://issues.apache.org/jira/browse/CASSANDRA-9454?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Sebastian Estevez updated CASSANDRA-9454: ----------------------------------------- Description: 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. Unless the query is CL.ONE and all the partition ranges are on the node! 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.(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.(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 was: 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. 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.(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.(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 > Log WARN on Multi Partition IN clause Queries > --------------------------------------------- > > Key: CASSANDRA-9454 > URL: https://issues.apache.org/jira/browse/CASSANDRA-9454 > Project: Cassandra > Issue Type: Bug > Reporter: Sebastian Estevez > > 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. > Unless the query is CL.ONE and all the partition ranges are on the node! > 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.(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.(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)