cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Nate McCall (JIRA)" <j...@apache.org>
Subject [jira] Commented: (CASSANDRA-1157) add support for multiple indexexpressions
Date Sat, 24 Jul 2010 00:49:50 GMT

    [ https://issues.apache.org/jira/browse/CASSANDRA-1157?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12891893#action_12891893
] 

Nate McCall commented on CASSANDRA-1157:
----------------------------------------

test_thrift_server fails with the message below.

There are two issues here though:

1) it looks like the RowPredicate is not getting reset with the IndexClause (ln: 1251), when
I add that, I get a similar error from the next scan about "unable to scan unindexed column"
again because RowPredicate is not reset. After reseting, I still get the same error. 

2) Though the system test implies indexed and non-indexed will play nice on the same IndexExpression,
ThriftValidation does not agree, throwing an exception on the first missing column encountered.


Initial error after rebase and patches applied:
~~~~

nate:cassandra-TRUNK$ python=test nosetests --tests=system.test_thrift_server:TestMutations.test_index_scan
/usr/local/lib/python2.6/dist-packages/thrift/Thrift.py:58: DeprecationWarning: BaseException.message
has been deprecated as of Python 2.6
  self.message = message
E
======================================================================
ERROR: system.test_thrift_server.TestMutations.test_index_scan
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/var/lib/python-support/python2.6/nose/case.py", line 182, in runTest
    self.test(*self.arg)
  File "/home/nate/workspace/cassandra-TRUNK/test/system/test_thrift_server.py", line 1252,
in test_index_scan
    _expect_exception(lambda: client.scan(cp, rp, sp, ConsistencyLevel.ONE), InvalidRequestException)
  File "/home/nate/workspace/cassandra-TRUNK/test/system/test_thrift_server.py", line 173,
in _expect_exception
    raise Exception('expected %s; got %s' % (type_.__name__, r))
Exception: expected InvalidRequestException; got [KeySlice(columns=[ColumnOrSuperColumn(column=Column(ttl=None,
name='birthdate', value='\x00\x00\x00\x00\x00\x00\x00\x01', clock=Clock(timestamp=0)), super_column=None)],
key='key1')]

----------------------------------------------------------------------
Ran 1 test in 2.430s

> add support for multiple indexexpressions
> -----------------------------------------
>
>                 Key: CASSANDRA-1157
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1157
>             Project: Cassandra
>          Issue Type: Sub-task
>            Reporter: Jonathan Ellis
>            Assignee: Jonathan Ellis
>             Fix For: 0.7 beta 1
>
>         Attachments: 1157.txt
>
>
> we should:
>  - use the statistics from CASSANDRA-1155 to figure out which index has the highest selectivity,
and start with that
>  - if other indexes have high selectivity (average number of columns in an index row
is less than 1% of total in that CF), we should do a merge join
>  - otherwise, just loop the results from the first and reject un-satisfied expressions

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message