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

Reply via email to