Sounds good. You're right, CLI doesn't support this yet (but will shortly!)
On Fri, Oct 15, 2010 at 2:30 PM, J T <jt4websi...@googlemail.com> wrote: > Hmm, I don't have a java client that does all this. All of my stuff is in > erlang using the thrift client. > I can certainly raise a ticket and describe the problem though. > If the CLI supported querying by index I'd see if I could knock up an script > that did it but I don't think it does. > If you wanted a Java test case it would take me quite a while as I am > completely unfamiliar with the Java client api. > I'll raise a descriptive ticket for now and see where we go from there. > Jason > > On Fri, Oct 15, 2010 at 7:12 PM, Jonathan Ellis <jbel...@gmail.com> wrote: >> >> can you create a ticket with a test case? >> >> On Fri, Oct 15, 2010 at 1:06 PM, J T <jt4websi...@googlemail.com> wrote: >> > Hi, >> > If I do a secondary index look up with multiple index expressions (>1) >> > that >> > do not result in a match then I get a looping entry in the log until I >> > terminate the cassandra server. >> > e.g. (I'll use a pseudo notation to indicate the examples) >> > lookup( [ { SecondaryIndexedColumnName, "ColumnValue" } ] ). >> > If a match is found then I get a valid result set, otherwise if no match >> > is >> > found then I get an empty list. This is correct. >> > lookup( [ { SecondaryIndexedColumnName, "eq", "ColumnValue" }, { >> > NonIndexedColumnName, "eq", "Value" ] ). >> > If a match is found for both the first & the second index expression, >> > then I >> > get a valid result set. >> > However, if a match is found on the SecondaryIndexColumnName but it is >> > discounted because it fails to match the second non-indexed column >> > expression then the thrift connection times out and if I look in the >> > cassandra server log I can see this: >> > >> > INFO [ScheduledTasks:1] 2010-10-15 18:59:37,365 GCInspector.java (line >> > 183) >> > MyKeySpace.MessageLists 0,0 0/25 >> > 2/25 >> > DEBUG [ScheduledTasks:1] 2010-10-15 18:59:38,699 >> > StorageLoadBalancer.java >> > (line 349) Disseminating load info ... >> > DEBUG [pool-1-thread-1] 2010-10-15 19:00:19,610 ClientState.java (line >> > 81) >> > logged in: #<User allow_all groups=[]> >> > DEBUG [pool-1-thread-2] 2010-10-15 19:00:19,616 ClientState.java (line >> > 81) >> > logged in: #<User allow_all groups=[]> >> > DEBUG [pool-1-thread-3] 2010-10-15 19:00:19,626 ClientState.java (line >> > 81) >> > logged in: #<User allow_all groups=[]> >> > DEBUG [pool-1-thread-4] 2010-10-15 19:00:19,632 ClientState.java (line >> > 81) >> > logged in: #<User allow_all groups=[]> >> > DEBUG [pool-1-thread-5] 2010-10-15 19:00:19,640 ClientState.java (line >> > 81) >> > logged in: #<User allow_all groups=[]> >> > DEBUG [pool-1-thread-6] 2010-10-15 19:00:19,650 ClientState.java (line >> > 81) >> > logged in: #<User allow_all groups=[]> >> > DEBUG [pool-1-thread-7] 2010-10-15 19:00:19,656 ClientState.java (line >> > 81) >> > logged in: #<User allow_all groups=[]> >> > DEBUG [pool-1-thread-8] 2010-10-15 19:00:19,667 ClientState.java (line >> > 81) >> > logged in: #<User allow_all groups=[]> >> > DEBUG [pool-1-thread-9] 2010-10-15 19:00:19,677 ClientState.java (line >> > 81) >> > logged in: #<User allow_all groups=[]> >> > DEBUG [pool-1-thread-10] 2010-10-15 19:00:19,684 ClientState.java (line >> > 81) >> > logged in: #<User allow_all groups=[]> >> > DEBUG [pool-1-thread-10] 2010-10-15 19:00:27,878 CassandraServer.java >> > (line >> > 531) scan >> > DEBUG [pool-1-thread-10] 2010-10-15 19:00:27,897 StorageProxy.java (line >> > 563) restricted single token match for query [0,0] >> > DEBUG [pool-1-thread-10] 2010-10-15 19:00:27,897 StorageProxy.java (line >> > 649) scan ranges are [0,0] >> > DEBUG [pool-1-thread-10] 2010-10-15 19:00:27,925 StorageProxy.java (line >> > 669) reading org.apache.cassandra.db.indexscancomm...@42a6eb from >> > 5...@localhost/127.0.0.1 >> > DEBUG [ReadStage:2] 2010-10-15 19:00:27,931 SliceQueryFilter.java (line >> > 121) >> > collecting 0 of 1: null:false:0...@1287103291 >> > DEBUG [ReadStage:2] 2010-10-15 19:00:27,933 SliceQueryFilter.java (line >> > 121) >> > collecting 0 of 2147483647: is_confirmed:false:4...@1287103291 >> > DEBUG [ReadStage:2] 2010-10-15 19:00:27,934 SliceQueryFilter.java (line >> > 121) >> > collecting 1 of 2147483647: request_type:false:6...@1287103291 >> > DEBUG [ReadStage:2] 2010-10-15 19:00:27,935 SliceQueryFilter.java (line >> > 121) >> > collecting 2 of 2147483647: requested:false:5...@1287103291 >> > DEBUG [ReadStage:2] 2010-10-15 19:00:27,935 SliceQueryFilter.java (line >> > 121) >> > collecting 3 of 2147483647: requested_network:false:5...@1287103291 >> > DEBUG [ReadStage:2] 2010-10-15 19:00:27,936 SliceQueryFilter.java (line >> > 121) >> > collecting 4 of 2147483647: requestor:false:5...@1287103291 >> > DEBUG [ReadStage:2] 2010-10-15 19:00:27,937 SliceQueryFilter.java (line >> > 121) >> > collecting 5 of 2147483647: requestor_network:false:5...@1287103291 >> > DEBUG [ReadStage:2] 2010-10-15 19:00:27,942 SliceQueryFilter.java (line >> > 121) >> > collecting 0 of 1: null:false:0...@1287103291 >> > DEBUG [ReadStage:2] 2010-10-15 19:00:27,943 SliceQueryFilter.java (line >> > 121) >> > collecting 0 of 1: null:false:0...@1287103291 >> > DEBUG [ReadStage:2] 2010-10-15 19:00:27,945 SliceQueryFilter.java (line >> > 121) >> > collecting 0 of 1: null:false:0...@1287103291 >> > DEBUG [ReadStage:2] 2010-10-15 19:00:27,946 SliceQueryFilter.java (line >> > 121) >> > collecting 0 of 1: null:false:0...@1287103291 >> > DEBUG [ReadStage:2] 2010-10-15 19:00:27,949 SliceQueryFilter.java (line >> > 121) >> > collecting 0 of 1: null:false:0...@1287103291 >> > DEBUG [ReadStage:2] 2010-10-15 19:00:27,953 SliceQueryFilter.java (line >> > 121) >> > collecting 0 of 1: null:false:0...@1287103291 >> > DEBUG [ReadStage:2] 2010-10-15 19:00:27,954 SliceQueryFilter.java (line >> > 121) >> > collecting 0 of 1: null:false:0...@1287103291 >> > DEBUG [ReadStage:2] 2010-10-15 19:00:27,956 SliceQueryFilter.java (line >> > 121) >> > collecting 0 of 1: null:false:0...@1287103291 >> > >> > .. this last line repeats forever until I terminate cassandra and until >> > I do >> > that all subsequent client connection operations timeout. >> > This is on a single server setup. >> > >> > >> >> >> >> -- >> Jonathan Ellis >> Project Chair, Apache Cassandra >> co-founder of Riptano, the source for professional Cassandra support >> http://riptano.com > > -- Jonathan Ellis Project Chair, Apache Cassandra co-founder of Riptano, the source for professional Cassandra support http://riptano.com