Return-Path: Delivered-To: apmail-cassandra-user-archive@www.apache.org Received: (qmail 7998 invoked from network); 15 Oct 2010 18:06:41 -0000 Received: from unknown (HELO mail.apache.org) (140.211.11.3) by 140.211.11.9 with SMTP; 15 Oct 2010 18:06:41 -0000 Received: (qmail 2148 invoked by uid 500); 15 Oct 2010 18:06:39 -0000 Delivered-To: apmail-cassandra-user-archive@cassandra.apache.org Received: (qmail 2097 invoked by uid 500); 15 Oct 2010 18:06:39 -0000 Mailing-List: contact user-help@cassandra.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: user@cassandra.apache.org Delivered-To: mailing list user@cassandra.apache.org Received: (qmail 2089 invoked by uid 99); 15 Oct 2010 18:06:39 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 15 Oct 2010 18:06:39 +0000 X-ASF-Spam-Status: No, hits=2.2 required=10.0 tests=FREEMAIL_FROM,HTML_MESSAGE,NORMAL_HTTP_TO_IP,RCVD_IN_DNSWL_NONE,SPF_PASS,T_TO_NO_BRKTS_FREEMAIL X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of jt4websites@googlemail.com designates 209.85.215.44 as permitted sender) Received: from [209.85.215.44] (HELO mail-ew0-f44.google.com) (209.85.215.44) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 15 Oct 2010 18:06:34 +0000 Received: by ewy6 with SMTP id 6so757927ewy.31 for ; Fri, 15 Oct 2010 11:06:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=gamma; h=domainkey-signature:mime-version:received:received:date:message-id :subject:from:to:content-type; bh=jiKn8K0glJzlmlRrL+3gCsRCOFPMzQCjLnmiu+JRneM=; b=mKSutzQOzCDGT9CrWCB7UYpoxV9PTNDMXjzmylEQQSJfvkAFBmdvzrQHdRzM/957xU 9xhVBbHQ0TOhYTWdQ18UmhFTlJJSiS+DOggQWE8/ZrxWbvIdTdPtpi4HbpvZ1DAsgezV FLfl3d7inrovmkQgc7FMFUPp1V0YqkgVfRd+o= DomainKey-Signature: a=rsa-sha1; c=nofws; d=googlemail.com; s=gamma; h=mime-version:date:message-id:subject:from:to:content-type; b=fRVBR8105d4sjqVeP9IDIf+1GaJgCqdtfTbt7gaW/nBlqpBPs2I2ouPYjPX0O+EI54 71SMDoJguLBpQ56hETHLoNZ9DrekMAb81A0CfbJiGz+FmRqp+13QBNgG8hi3r/AnRkxV M2rW5bjGllyDFty2ZpuKUv8fxYVw667AYfZhA= MIME-Version: 1.0 Received: by 10.213.9.137 with SMTP id l9mr1139286ebl.67.1287165972759; Fri, 15 Oct 2010 11:06:12 -0700 (PDT) Received: by 10.220.200.139 with HTTP; Fri, 15 Oct 2010 11:06:12 -0700 (PDT) Date: Fri, 15 Oct 2010 19:06:12 +0100 Message-ID: Subject: BUG: secondaryIndexes AND multiple index expressions THAT fail to match From: J T To: user@cassandra.apache.org Content-Type: multipart/alternative; boundary=00151748def492c3770492abaea3 --00151748def492c3770492abaea3 Content-Type: text/plain; charset=ISO-8859-1 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: # DEBUG [pool-1-thread-2] 2010-10-15 19:00:19,616 ClientState.java (line 81) logged in: # DEBUG [pool-1-thread-3] 2010-10-15 19:00:19,626 ClientState.java (line 81) logged in: # DEBUG [pool-1-thread-4] 2010-10-15 19:00:19,632 ClientState.java (line 81) logged in: # DEBUG [pool-1-thread-5] 2010-10-15 19:00:19,640 ClientState.java (line 81) logged in: # DEBUG [pool-1-thread-6] 2010-10-15 19:00:19,650 ClientState.java (line 81) logged in: # DEBUG [pool-1-thread-7] 2010-10-15 19:00:19,656 ClientState.java (line 81) logged in: # DEBUG [pool-1-thread-8] 2010-10-15 19:00:19,667 ClientState.java (line 81) logged in: # DEBUG [pool-1-thread-9] 2010-10-15 19:00:19,677 ClientState.java (line 81) logged in: # DEBUG [pool-1-thread-10] 2010-10-15 19:00:19,684 ClientState.java (line 81) logged in: # 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.IndexScanCommand@42a6eb from 52@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:58@1287103291 DEBUG [ReadStage:2] 2010-10-15 19:00:27,935 SliceQueryFilter.java (line 121) collecting 3 of 2147483647: requested_network:false:57@1287103291 DEBUG [ReadStage:2] 2010-10-15 19:00:27,936 SliceQueryFilter.java (line 121) collecting 4 of 2147483647: requestor:false:58@1287103291 DEBUG [ReadStage:2] 2010-10-15 19:00:27,937 SliceQueryFilter.java (line 121) collecting 5 of 2147483647: requestor_network:false:57@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. --00151748def492c3770492abaea3 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Hi,

If I do a secondary index look up =A0with multiple i= ndex 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( [ =A0{ SecondaryIndexedColumnName, "ColumnVa= lue" } ] ).

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( [ =A0{ SecondaryIndexedColumnName, "e= q", =A0"ColumnValue" }, { NonIndexedColumnName, "eq&quo= t;, "Value" ] ).

If a match is fou= nd for both the first & the second index expression, then I get a valid= result set.=A0

However, if a match is found on the SecondaryIndexColum= nName 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 th= e cassandra server log I can see this:

=A0INFO [ScheduledTa= sks:1] 2010-10-15 18:59:37,365 GCInspector.java (line 183) MyKeySpace.Messa= geLists =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A00,0 =A0 =A0 =A0 =A0 =A0 = =A0 =A0 =A00/25 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A02/25
DEBUG [ScheduledTasks:1] 2010-10-15 18:59:38,699 StorageLoa= dBalancer.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=3D[]>
DEBUG [pool-1-thread-2] 2010-10-15 19:00:19,616 ClientState= .java (line 81) logged in: #<User allow_all groups=3D[]>
<= div>
DEBUG [pool-1-thread-3] 2010-10-15 19:00:19,626 ClientState.java (= line 81) logged in: #<User allow_all groups=3D[]>
DEBUG [pool-1-thread-4] 2010-10-15 19:00:19,632 ClientState= .java (line 81) logged in: #<User allow_all groups=3D[]>
<= div>
DEBUG [pool-1-thread-5] 2010-10-15 19:00:19,640 ClientState.java (= line 81) logged in: #<User allow_all groups=3D[]>
DEBUG [pool-1-thread-6] 2010-10-15 19:00:19,650 ClientState= .java (line 81) logged in: #<User allow_all groups=3D[]>
<= div>
DEBUG [pool-1-thread-7] 2010-10-15 19:00:19,656 ClientState.java (= line 81) logged in: #<User allow_all groups=3D[]>
DEBUG [pool-1-thread-8] 2010-10-15 19:00:19,667 ClientState= .java (line 81) logged in: #<User allow_all groups=3D[]>
<= div>
DEBUG [pool-1-thread-9] 2010-10-15 19:00:19,677 ClientState.java (= line 81) logged in: #<User allow_all groups=3D[]>
DEBUG [pool-1-thread-10] 2010-10-15 19:00:19,684 ClientStat= e.java (line 81) logged in: #<User allow_all groups=3D[]>
=
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 StoragePro= xy.java (line 563) restricted single token match for query [0,0]
DEBUG [pool-1-thread-10] 2010-10-15 19:00:27,897 StorageProxy.ja= va (line 649) scan ranges are [0,0]
DEBUG [pool-1-thread-10] 2010-10-15 19:00:27,925 StoragePro= xy.java (line 669) reading org.apache.cassandra.db.IndexScanCommand@42a6eb = from 52@localhost/127.0.0.1
DEBUG [ReadStage:2] 2010-10-15 19:00:27,931 SliceQueryFilter.java (lin= e 121) collecting 0 of 1: null:false:0@1287103291
DEBU= G [ReadStage:2] 2010-10-15 19:00:27,933 SliceQueryFilter.java (line 121) co= llecting 0 of 2147483647: is_confirmed:false:4@1287103291
DEBUG [ReadStage:2] 2010-10-15 19:00:27,934 SliceQueryFilte= r.java (line 121) collecting 1 of 2147483647: request_type:false:6@12871032= 91
DEBUG [ReadStage:2] 2010-10-15 19:00:27,935 SliceQu= eryFilter.java (line 121) collecting 2 of 2147483647: requested:false:58@12= 87103291
DEBUG [ReadStage:2] 2010-10-15 19:00:27,935 SliceQueryFilte= r.java (line 121) collecting 3 of 2147483647: requested_network:false:57@12= 87103291
DEBUG [ReadStage:2] 2010-10-15 19:00:27,936 S= liceQueryFilter.java (line 121) collecting 4 of 2147483647: requestor:false= :58@1287103291
DEBUG [ReadStage:2] 2010-10-15 19:00:27,937 SliceQueryFilte= r.java (line 121) collecting 5 of 2147483647: requestor_network:false:57@12= 87103291
DEBUG [ReadStage:2] 2010-10-15 19:00:27,942 S= liceQueryFilter.java (line 121) collecting 0 of 1: null:false:0@1287103291<= /div>
DEBUG [ReadStage:2] 2010-10-15 19:00:27,943 SliceQueryFilte= r.java (line 121) collecting 0 of 1: null:false:0@1287103291
DEBUG [ReadStage:2] 2010-10-15 19:00:27,945 SliceQueryFilter.java (l= ine 121) collecting 0 of 1: null:false:0@1287103291
DEBUG [ReadStage:2] 2010-10-15 19:00:27,946 SliceQueryFilte= r.java (line 121) collecting 0 of 1: null:false:0@1287103291
DEBUG [ReadStage:2] 2010-10-15 19:00:27,949 SliceQueryFilter.java (l= ine 121) collecting 0 of 1: null:false:0@1287103291
DEBUG [ReadStage:2] 2010-10-15 19:00:27,953 SliceQueryFilte= r.java (line 121) collecting 0 of 1: null:false:0@1287103291
DEBUG [ReadStage:2] 2010-10-15 19:00:27,954 SliceQueryFilter.java (l= ine 121) collecting 0 of 1: null:false:0@1287103291
DEBUG [ReadStage:2] 2010-10-15 19:00:27,956 SliceQueryFilte= r.java (line 121) collecting 0 of 1: null:false:0@1287103291
.. this last line repeats forever until I terminate cassandr= a and until I do that all subsequent client connection operations timeout.<= /div>

This is on a single server setup.

<= div>
--00151748def492c3770492abaea3--