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***** > > **** > > ** ** >