I was able to rule out that the Composite class from hector is causing this issue. I opened up a ticket on this, please find it here: https://issues.apache.org/jira/browse/CASSANDRA-4410
regards On 29.06.2012 09:23, Sylvain Lebresne wrote: > On Thu, Jun 28, 2012 at 6:43 PM, Henning Kropp <kr...@nurago.com> wrote: >> I would like to use the BulkOutputFormat so. Is it likely to cause the below >> exception? If so, why? Can it be fixed? > It could, and if that only happens when you use it, then there is a > good change this is > where there is a problem. But I'll admit I don't know the BulkOutputFormat > well > enough to be definitive. Would you mind opening a ticket on > https://issues.apache.org/jira/browse/CASSANDRA will all those details ? > > -- > Sylvain >> regards >> >> ________________________________ >> Am 26.06.2012 17:02 schrieb Sylvain Lebresne <sylv...@datastax.com>: >> On Tue, Jun 26, 2012 at 4:00 PM, Henning Kropp <kr...@nurago.com> wrote: >>> Thanks for the reply. Should have thought about looking into the log files >>> sooner. An AssertionError happens at execution. I haven't figured out yet >>> why. Any input is very much appreciated: >>> >>> ERROR [ReadStage:1] 2012-06-26 15:49:54,481 AbstractCassandraDaemon.java >>> (line 134) Exception in thread Thread[ReadStage:1,5,main] >>> java.lang.AssertionError: Added column does not sort as the last column >>> at >>> org.apache.cassandra.db.ArrayBackedSortedColumns.addColumn(ArrayBackedSortedColumns.java:130) >>> at >>> org.apache.cassandra.db.AbstractColumnContainer.addColumn(AbstractColumnContainer.java:107) >>> at >>> org.apache.cassandra.db.AbstractColumnContainer.addColumn(AbstractColumnContainer.java:102) >>> at >>> org.apache.cassandra.db.filter.SliceQueryFilter.collectReducedColumns(SliceQueryFilter.java:141) >>> at >>> org.apache.cassandra.db.filter.QueryFilter.collateColumns(QueryFilter.java:139) >>> at >>> org.apache.cassandra.db.CollationController.collectAllData(CollationController.java:283) >>> at >>> org.apache.cassandra.db.CollationController.getTopLevelColumns(CollationController.java:63) >>> at >>> org.apache.cassandra.db.ColumnFamilyStore.getTopLevelColumns(ColumnFamilyStore.java:1321) >>> at >>> org.apache.cassandra.db.ColumnFamilyStore.getColumnFamily(ColumnFamilyStore.java:1183) >>> at >>> org.apache.cassandra.db.ColumnFamilyStore.getColumnFamily(ColumnFamilyStore.java:1118) >>> at org.apache.cassandra.db.Table.getRow(Table.java:374) >>> at >>> org.apache.cassandra.db.SliceFromReadCommand.getRow(SliceFromReadCommand.java:69) >>> at >>> org.apache.cassandra.service.StorageProxy$LocalReadRunnable.runMayThrow(StorageProxy.java:816) >>> at >>> org.apache.cassandra.service.StorageProxy$DroppableRunnable.run(StorageProxy.java:1250) >>> 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) >> Obviously that shouldn't happen. You didn't happen to change the >> comparator for the column family or something like that from the >> hector side? >> Are you able to reproduce from a blank DB? >> >> -- >> Sylvain >> >>> >>> BTW: I really would love to understand as of why the combined comparator >>> will not allow two ranges be specified for two key parts. Obviously I still >>> lack a profound understanding of cassandras architecture to have a clue. >>> And while client side filtering might seem like a valid option I am still >>> trying to get might head around a cassandra data model that would allow >>> this. >>> >>> best regards >>> >>> ________________________________________ >>> Von: Sylvain Lebresne [sylv...@datastax.com] >>> Gesendet: Dienstag, 26. Juni 2012 10:21 >>> Bis: user@cassandra.apache.org >>> Betreff: Re: Request Timeout with Composite Columns and CQL3 >>> >>> On Mon, Jun 25, 2012 at 11:10 PM, Henning Kropp <kr...@nurago.com> wrote: >>>> Hi, >>>> >>>> I am running into timeout issues using composite columns in cassandra >>>> 1.1.1 >>>> and cql 3. >>>> >>>> My keyspace and table is defined as the following: >>>> >>>> create keyspace bn_logs >>>> with strategy_options = [{replication_factor:1}] >>>> and placement_strategy = >>>> 'org.apache.cassandra.locator.SimpleStrategy'; >>>> >>>> CREATE TABLE logs ( >>>> id text, >>>> ref text, >>>> time bigint, >>>> datum text, >>>> PRIMARY KEY(id, ref, time) >>>> ); >>>> >>>> I import some data to the table by using a combination of the thrift >>>> interface and the hector Composite.class by using its serialization as >>>> the >>>> column name: >>>> >>>> Column col = new Column(composite.serialize()); >>>> >>>> This all seems to work fine until I try to execute the following query >>>> which >>>> leads to a request timeout: >>>> >>>> SELECT datum FROM logs WHERE id='861' and ref = 'raaf' and time > '3000'; >>> If it timeouts the likely reason is that this query selects more data >>> than the machine is able to fetch before the timeout. You can either >>> add a limit to the query, or increase the timeout. >>> If that doesn't seem to fix it, it might be worth checking the server >>> log to see if there isn't an error. >>> >>>> I really would like to figure out, why running this query on my laptop >>>> (single node, for development) will not finish. I also would like to know >>>> if >>>> the following query would actually work >>>> >>>> SELECT datum FROM logs WHERE id='861' and ref = 'raaf*' and time > >>>> '3000'; >>> It won't. You can perform the following query: >>> >>> SELECT datum FROM logs WHERE id='861' and ref = 'raaf'; >>> >>> which will select every datum whose ref starts with 'raaf', but then >>> you cannot restrict >>> the time parameter, so you will get ref where the time is <= 3000. Of >>> course you can >>> always filter client side if that is an option. >>> >>>> or how else there is a way to define a range for the second component of >>>> the >>>> column key? >>> As described above, you can define a range on the second component, but >>> then you >>> won't be able to restrict on the 3rd component. >>> >>>> Any thoughts? >>>> >>>> Thanks in advance and kind regards >>>> Henning >>>>