You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Jonathan Ellis (JIRA)" <ji...@apache.org> on 2009/08/05 20:21:14 UTC
[jira] Created: (CASSANDRA-344) allow slicing during key range
query
allow slicing during key range query
------------------------------------
Key: CASSANDRA-344
URL: https://issues.apache.org/jira/browse/CASSANDRA-344
Project: Cassandra
Issue Type: New Feature
Reporter: Jonathan Ellis
Assignee: Jonathan Ellis
Fix For: 0.4
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (CASSANDRA-344) allow slicing during key range
query
Posted by "Michael Greene (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/CASSANDRA-344?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Michael Greene updated CASSANDRA-344:
-------------------------------------
Component/s: Core
> allow slicing during key range query
> ------------------------------------
>
> Key: CASSANDRA-344
> URL: https://issues.apache.org/jira/browse/CASSANDRA-344
> Project: Cassandra
> Issue Type: New Feature
> Components: Core
> Reporter: Jonathan Ellis
> Fix For: 0.5
>
>
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Assigned: (CASSANDRA-344) allow slicing during key range
query
Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/CASSANDRA-344?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jonathan Ellis reassigned CASSANDRA-344:
----------------------------------------
Assignee: (was: Jonathan Ellis)
> allow slicing during key range query
> ------------------------------------
>
> Key: CASSANDRA-344
> URL: https://issues.apache.org/jira/browse/CASSANDRA-344
> Project: Cassandra
> Issue Type: New Feature
> Reporter: Jonathan Ellis
> Fix For: 0.5
>
>
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (CASSANDRA-344) allow slicing during key range
query
Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/CASSANDRA-344?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12777152#action_12777152 ]
Jonathan Ellis commented on CASSANDRA-344:
------------------------------------------
no, the Range is number of columns per row, the other is number of rows
> allow slicing during key range query
> ------------------------------------
>
> Key: CASSANDRA-344
> URL: https://issues.apache.org/jira/browse/CASSANDRA-344
> Project: Cassandra
> Issue Type: New Feature
> Components: Core
> Reporter: Jonathan Ellis
> Assignee: Gary Dusbabek
> Fix For: 0.5
>
> Attachments: 344-thrift.patch
>
>
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (CASSANDRA-344) allow slicing during key range
query
Posted by "Gary Dusbabek (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/CASSANDRA-344?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Gary Dusbabek updated CASSANDRA-344:
------------------------------------
Attachment: 344-v3.diff
Generated with svn diff.
> allow slicing during key range query
> ------------------------------------
>
> Key: CASSANDRA-344
> URL: https://issues.apache.org/jira/browse/CASSANDRA-344
> Project: Cassandra
> Issue Type: New Feature
> Components: Core
> Reporter: Jonathan Ellis
> Assignee: Gary Dusbabek
> Fix For: 0.5
>
> Attachments: 344-thrift.patch, 344-v1.patch, 344-v2.patch, 344-v3.diff
>
>
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (CASSANDRA-344) allow slicing during key range
query
Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/CASSANDRA-344?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12775153#action_12775153 ]
Jonathan Ellis commented on CASSANDRA-344:
------------------------------------------
so right now,
ColumnFamilyStore.getKeyRange gets an iterator over all the keys, then scans through looking for stuff that's not deleted
CFS.getColumnFamily takes a queryfilter, and returns a CF from one row
we want to combine those so that we have a method that iterators over all the keys, applying a queryfilter (notably, we don't special case deleted rows anymore, just let the filter do its thing, and if nothing is found we return empty columnorsupercolumn[] for that key).
if you can refactor things so we can leave the old get_key_range around but deprecated, great. if that makes things too fugly tho we'll push this to post-0.5 (and just get rid of the old one).
> allow slicing during key range query
> ------------------------------------
>
> Key: CASSANDRA-344
> URL: https://issues.apache.org/jira/browse/CASSANDRA-344
> Project: Cassandra
> Issue Type: New Feature
> Components: Core
> Reporter: Jonathan Ellis
> Assignee: Gary Dusbabek
> Fix For: 0.5
>
>
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (CASSANDRA-344) allow slicing during key range
query
Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/CASSANDRA-344?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jonathan Ellis updated CASSANDRA-344:
-------------------------------------
Fix Version/s: (was: 0.4)
0.5
This is a bigger change than I thought initially. I will think about it but for now I am putting it in 0.5. (I am also un-assigning it so if anyone else wants to grab it for 0.4 you are welcome to do so. :)
> allow slicing during key range query
> ------------------------------------
>
> Key: CASSANDRA-344
> URL: https://issues.apache.org/jira/browse/CASSANDRA-344
> Project: Cassandra
> Issue Type: New Feature
> Reporter: Jonathan Ellis
> Fix For: 0.5
>
>
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (CASSANDRA-344) allow slicing during key range
query
Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/CASSANDRA-344?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jonathan Ellis updated CASSANDRA-344:
-------------------------------------
Attachment: 344-v4.patch
rebased v4
> allow slicing during key range query
> ------------------------------------
>
> Key: CASSANDRA-344
> URL: https://issues.apache.org/jira/browse/CASSANDRA-344
> Project: Cassandra
> Issue Type: New Feature
> Components: Core
> Reporter: Jonathan Ellis
> Assignee: Gary Dusbabek
> Fix For: 0.5
>
> Attachments: 344-thrift.patch, 344-v1.patch, 344-v2.patch, 344-v3.diff, 344-v4.patch, 344-v4.patch
>
>
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (CASSANDRA-344) allow slicing during key range
query
Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/CASSANDRA-344?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jonathan Ellis updated CASSANDRA-344:
-------------------------------------
Attachment: 344-v4.patch
Made a couple changes:
- renamed thrift method to get_range_slice for consistency [my fault, sorry]
- renamed some things to RangeSliceX instead of SliceX or SliceRangeX to satisfy my OCD
- RangeSliceReply now uses Rows internally [my fault for not mentioning that too], and propagates rangeCompletedLocally
- added CFS.getKeyRangeRaw to do a keyrange w/o filtering out deleted rows. avoiding that behavior is one of the reasons we're adding RangeSlice.
Still todo:
- use rangeCompletedLocally in StorageProxy.getKeySlice (oops, missed that one -- rename to getRangeSlice :)
- handle both kinds of column slice predicates, right now it assumes it is always a range. i suggest leaving SlicePredicate un-flattened in RangeSliceCommand. (in fact the way it is now it is guaranteed to NPE since exactly one of the Predicate sub-structs should be null.) Look at SliceByNamesReadCommand and SliceFromReadCommand for turning the predicate into a QueryFilter.
- add a test to test/system/test_server.py exercising both kinds of predicates to get_range_slice
Optionally, you might want to do this to serialize the Predicate directly: http://wiki.apache.org/thrift/ThriftUsageJava . Of course there is an extra copy involved. (We don't actually use that in Cassandra anywhere yet. We probably should.)
Almost done! :)
> allow slicing during key range query
> ------------------------------------
>
> Key: CASSANDRA-344
> URL: https://issues.apache.org/jira/browse/CASSANDRA-344
> Project: Cassandra
> Issue Type: New Feature
> Components: Core
> Reporter: Jonathan Ellis
> Assignee: Gary Dusbabek
> Fix For: 0.5
>
> Attachments: 344-thrift.patch, 344-v1.patch, 344-v2.patch, 344-v3.diff, 344-v4.patch
>
>
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (CASSANDRA-344) allow slicing during key range
query
Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/CASSANDRA-344?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jonathan Ellis updated CASSANDRA-344:
-------------------------------------
Attachment: 344-thrift.patch
thrift change looks something like this IMO
> allow slicing during key range query
> ------------------------------------
>
> Key: CASSANDRA-344
> URL: https://issues.apache.org/jira/browse/CASSANDRA-344
> Project: Cassandra
> Issue Type: New Feature
> Components: Core
> Reporter: Jonathan Ellis
> Assignee: Gary Dusbabek
> Fix For: 0.5
>
> Attachments: 344-thrift.patch
>
>
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (CASSANDRA-344) allow slicing during key range
query
Posted by "Gary Dusbabek (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/CASSANDRA-344?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Gary Dusbabek updated CASSANDRA-344:
------------------------------------
Attachment: 344-v5.diff
adds a nostetest and fixes a few null pointer bugs.
> allow slicing during key range query
> ------------------------------------
>
> Key: CASSANDRA-344
> URL: https://issues.apache.org/jira/browse/CASSANDRA-344
> Project: Cassandra
> Issue Type: New Feature
> Components: Core
> Reporter: Jonathan Ellis
> Assignee: Gary Dusbabek
> Fix For: 0.5
>
> Attachments: 344-thrift.patch, 344-v1.patch, 344-v2.patch, 344-v3.diff, 344-v4.patch, 344-v4.patch, 344-v5.diff
>
>
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (CASSANDRA-344) allow slicing during key range
query
Posted by "Gary Dusbabek (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/CASSANDRA-344?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12775495#action_12775495 ]
Gary Dusbabek commented on CASSANDRA-344:
-----------------------------------------
Is the count parameter redundant (the same as SlicePredicate.slice_range.count)?
> allow slicing during key range query
> ------------------------------------
>
> Key: CASSANDRA-344
> URL: https://issues.apache.org/jira/browse/CASSANDRA-344
> Project: Cassandra
> Issue Type: New Feature
> Components: Core
> Reporter: Jonathan Ellis
> Assignee: Gary Dusbabek
> Fix For: 0.5
>
> Attachments: 344-thrift.patch
>
>
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (CASSANDRA-344) allow slicing during key range
query
Posted by "Hudson (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/CASSANDRA-344?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12779960#action_12779960 ]
Hudson commented on CASSANDRA-344:
----------------------------------
Integrated in Cassandra #263 (See [http://hudson.zones.apache.org/hudson/job/Cassandra/263/])
add primitive get_range_slice. inefficient, but better than get_key_range + get_slices.
patch by gdusbabek; reviewed by jbellis for
> allow slicing during key range query
> ------------------------------------
>
> Key: CASSANDRA-344
> URL: https://issues.apache.org/jira/browse/CASSANDRA-344
> Project: Cassandra
> Issue Type: New Feature
> Components: Core
> Reporter: Jonathan Ellis
> Assignee: Gary Dusbabek
> Fix For: 0.5
>
> Attachments: 344-thrift.patch, 344-v1.patch, 344-v2.patch, 344-v3.diff, 344-v4.patch, 344-v4.patch, 344-v5.diff
>
>
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Assigned: (CASSANDRA-344) allow slicing during key range
query
Posted by "Eric Evans (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/CASSANDRA-344?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Eric Evans reassigned CASSANDRA-344:
------------------------------------
Assignee: Eric Evans
> allow slicing during key range query
> ------------------------------------
>
> Key: CASSANDRA-344
> URL: https://issues.apache.org/jira/browse/CASSANDRA-344
> Project: Cassandra
> Issue Type: New Feature
> Components: Core
> Reporter: Jonathan Ellis
> Assignee: Eric Evans
> Fix For: 0.5
>
>
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (CASSANDRA-344) allow slicing during key range
query
Posted by "Gary Dusbabek (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/CASSANDRA-344?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Gary Dusbabek updated CASSANDRA-344:
------------------------------------
Attachment: 344-v1.patch
I'm in the middle of testing this (to see if it even works), but would appreciate feedback to know whether or not I am moving in the right direction.
> allow slicing during key range query
> ------------------------------------
>
> Key: CASSANDRA-344
> URL: https://issues.apache.org/jira/browse/CASSANDRA-344
> Project: Cassandra
> Issue Type: New Feature
> Components: Core
> Reporter: Jonathan Ellis
> Assignee: Gary Dusbabek
> Fix For: 0.5
>
> Attachments: 344-thrift.patch, 344-v1.patch
>
>
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (CASSANDRA-344) allow slicing during key range
query
Posted by "Gary Dusbabek (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/CASSANDRA-344?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Gary Dusbabek updated CASSANDRA-344:
------------------------------------
Attachment: 344-v2.patch
Removes max_cols replacements and reverts a few of the thrift changes.
> allow slicing during key range query
> ------------------------------------
>
> Key: CASSANDRA-344
> URL: https://issues.apache.org/jira/browse/CASSANDRA-344
> Project: Cassandra
> Issue Type: New Feature
> Components: Core
> Reporter: Jonathan Ellis
> Assignee: Gary Dusbabek
> Fix For: 0.5
>
> Attachments: 344-thrift.patch, 344-v1.patch, 344-v2.patch
>
>
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Assigned: (CASSANDRA-344) allow slicing during key range
query
Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/CASSANDRA-344?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jonathan Ellis reassigned CASSANDRA-344:
----------------------------------------
Assignee: Gary Dusbabek (was: Eric Evans)
> allow slicing during key range query
> ------------------------------------
>
> Key: CASSANDRA-344
> URL: https://issues.apache.org/jira/browse/CASSANDRA-344
> Project: Cassandra
> Issue Type: New Feature
> Components: Core
> Reporter: Jonathan Ellis
> Assignee: Gary Dusbabek
> Fix For: 0.5
>
>
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (CASSANDRA-344) allow slicing during key range
query
Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/CASSANDRA-344?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12770793#action_12770793 ]
Jonathan Ellis commented on CASSANDRA-344:
------------------------------------------
When adding this, we should deprecate the slice-less get_key_range, too. It's problematic for a couple reasons:
- skipping (a lot of) entirely-tombstoned rows can cause really bad performance problems while it's trying to collect N un-tombstoned ones; including slice fixes that because if no data is there an empty list still counts towards the result set
- consistency_level doesn't really make sense w/o data to apply it to (my bad on that one)
> allow slicing during key range query
> ------------------------------------
>
> Key: CASSANDRA-344
> URL: https://issues.apache.org/jira/browse/CASSANDRA-344
> Project: Cassandra
> Issue Type: New Feature
> Components: Core
> Reporter: Jonathan Ellis
> Assignee: Eric Evans
> Fix For: 0.5
>
>
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (CASSANDRA-344) allow slicing during key range
query
Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/CASSANDRA-344?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12778659#action_12778659 ]
Jonathan Ellis commented on CASSANDRA-344:
------------------------------------------
Hmm:
$ patch -p0 < 344-v2.patch
patching file interface/gen-java/org/apache/cassandra/service/Cassandra.java
> allow slicing during key range query
> ------------------------------------
>
> Key: CASSANDRA-344
> URL: https://issues.apache.org/jira/browse/CASSANDRA-344
> Project: Cassandra
> Issue Type: New Feature
> Components: Core
> Reporter: Jonathan Ellis
> Assignee: Gary Dusbabek
> Fix For: 0.5
>
> Attachments: 344-thrift.patch, 344-v1.patch, 344-v2.patch
>
>
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.