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 >