Meant to put this in up top, but if you are upgrading, it would behoove you to upgrade to the latest 1.2.8 ( https://github.com/apache/cassandra/blob/cassandra-1.2/CHANGES.txt)
On Mon, Aug 19, 2013 at 9:57 AM, Nate McCall <n...@thelastpickle.com> wrote: > Quite a bit, IIRC. The thrift methods get_range_slices and > get_index_slices where merged under the hood to share a code path. > > > On Mon, Aug 19, 2013 at 9:50 AM, <tamas.fold...@thomsonreuters.com> wrote: > >> That’s good news.**** >> >> But the thing is – I don’t have the client exception, so I cannot tell if >> this is what really happens.**** >> >> I checked the logs for each of our client applications, but no >> exceptions, so the only other possibility is that someone manually runs a >> bad query. It’s possible, but still a bit hard to believe for me, as we >> don’t have many devs working on this, but we still get the exception many >> times a week, an noone claimed ownership… :)** >> >> ** ** >> >> Can you tell if the behaviour here is any different than in Cassandra >> 1.0? We did not get any exceptions there at all, so it would give us some >> confidence to know if filtering did change to let this through.**** >> >> ** ** >> >> *From:* Nate McCall [mailto:n...@thelastpickle.com] >> *Sent:* 19. august 2013 16:23 >> *To:* user@cassandra.apache.org >> *Subject:* Re: fromIndex > toIndex in Cassandra 1.2.5**** >> >> ** ** >> >> This is potentially just a bad query. It looks like >> ThriftValidation#validateFilterClauses just checks the indexes and values >> are of the right type and does not compare actual values. In other words, >> the query could have made it that far with a bad comparison value. **** >> >> ** ** >> >> What exception are you getting back on the client?**** >> >> ** ** >> >> On Mon, Aug 19, 2013 at 8:45 AM, <tamas.fold...@thomsonreuters.com> >> wrote:**** >> >> Hi,**** >> >> **** >> >> We are upgrading our 1.0 Cassandra installation to 1.2 (via 1.1), and had >> Cassandra 1.2.5 running in test for a while.**** >> >> Everything seems fine except that exceptions like below come >> sporadically, without correlating with anything else. They *seem* to come >> during work hours, so it can be that one of our devs run invalid commands, >> but then noone complained about any errors they’d get.**** >> >> I have not found any user-level exceptions in the client logs either, so >> I wonder what this might be, how serious it is, what are the consequences, >> how to avoid (if necessary), etc… **** >> >> Unfortunately the logs don’t say anything about in which keyspace this >> occurred – I could not find any sstables with index 1771 (if that is what >> that number means…).**** >> >> Any help is appreciated.**** >> >> **** >> >> ERROR [ReadStage:1771] 2013-08-13 16:40:17,532 CassandraDaemon.java (line >> 175) Exception in thread Thread[ReadStage:1771,5,main]**** >> >> java.lang.IllegalArgumentException: fromIndex(60) > toIndex(0)**** >> >> at java.util.SubList.<init>(AbstractList.java:604)**** >> >> at java.util.RandomAccessSubList.<init>(AbstractList.java:758)*** >> * >> >> at java.util.AbstractList.subList(AbstractList.java:468)**** >> >> at >> org.apache.cassandra.db.ArrayBackedSortedColumns$SlicesIterator.computeNext(ArrayBackedSortedColumns.java:365) >> **** >> >> at >> org.apache.cassandra.db.ArrayBackedSortedColumns$SlicesIterator.computeNext(ArrayBackedSortedColumns.java:325) >> **** >> >> at >> com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143) >> **** >> >> at >> com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138) >> **** >> >> at org.apache.cassandra.db.Memtable$6.hasNext(Memtable.java:356)* >> *** >> >> at >> org.apache.cassandra.db.filter.QueryFilter$2.getNext(QueryFilter.java:171) >> **** >> >> at >> org.apache.cassandra.db.filter.QueryFilter$2.hasNext(QueryFilter.java:154) >> **** >> >> at >> org.apache.cassandra.utils.MergeIterator$OneToOne.computeNext(MergeIterator.java:199) >> **** >> >> at >> com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143) >> **** >> >> at >> com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138) >> **** >> >> at >> org.apache.cassandra.db.filter.SliceQueryFilter.collectReducedColumns(SliceQueryFilter.java:157) >> **** >> >> at >> org.apache.cassandra.db.filter.QueryFilter.collateColumns(QueryFilter.java:136) >> **** >> >> at >> org.apache.cassandra.db.filter.QueryFilter.collateOnDiskAtom(QueryFilter.java:84) >> **** >> >> at >> org.apache.cassandra.db.ColumnFamilyStore.filterColumnFamily(ColumnFamilyStore.java:1242) >> **** >> >> at >> org.apache.cassandra.db.ColumnFamilyStore.getColumnFamily(ColumnFamilyStore.java:1210) >> **** >> >> at >> org.apache.cassandra.db.ColumnFamilyStore.getColumnFamily(ColumnFamilyStore.java:1126) >> **** >> >> at org.apache.cassandra.db.Table.getRow(Table.java:347)**** >> >> at >> org.apache.cassandra.db.SliceFromReadCommand.getRow(SliceFromReadCommand.java:70) >> **** >> >> at >> org.apache.cassandra.db.ReadVerbHandler.doVerb(ReadVerbHandler.java:44)** >> ** >> >> at >> org.apache.cassandra.net.MessageDeliveryTask.run(MessageDeliveryTask.java:56) >> **** >> >> 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)**** >> >> **** >> >> Thanks,**** >> >> Tamas**** >> >> **** >> >> · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · >> · · >> *Tamas Foldesi* >> Senior Software Engineer >> *Thomson Reuters***** >> >> **** >> >> ** ** >> > >