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/06 21:25:14 UTC

[jira] Created: (CASSANDRA-350) optimize away unnecessary range scans

optimize away unnecessary range scans
-------------------------------------

                 Key: CASSANDRA-350
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-350
             Project: Cassandra
          Issue Type: Improvement
            Reporter: Jonathan Ellis
             Fix For: 0.5


Even when a the columns exist for a given key, they usually won't exist in all the sstable segments.  So avoiding the scan when the column index shows we can, will be a win.

This is what the todo in SSTableSliceIterator is about:
        // TODO push finishColumn down here too, so we can tell when we're done and optimize away the slice when the index + start/stop shows there's nothing to scan for


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


[jira] Updated: (CASSANDRA-350) optimize away unnecessary range scans

Posted by "Gary Dusbabek (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CASSANDRA-350?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Gary Dusbabek updated CASSANDRA-350:
------------------------------------

    Attachment: cassandra-350-v4.patch

Updated patch to include jbellis' revisions.

> optimize away unnecessary range scans
> -------------------------------------
>
>                 Key: CASSANDRA-350
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-350
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>            Reporter: Jonathan Ellis
>            Assignee: Gary Dusbabek
>             Fix For: 0.5
>
>         Attachments: 350-diff-to-v3.patch, cassandra-350-v2-tests.patch, cassandra-350-v2.patch, cassandra-350-v3.patch, cassandra-350-v4.patch, cassandra-350.patch
>
>
> Even when a the columns exist for a given key, they usually won't exist in all the sstable segments.  So avoiding the scan when the column index shows we can, will be a win.
> This is what the todo in SSTableSliceIterator is about:
>         // TODO push finishColumn down here too, so we can tell when we're done and optimize away the slice when the index + start/stop shows there's nothing to scan for

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


[jira] Commented: (CASSANDRA-350) optimize away unnecessary range scans

Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-350?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12770646#action_12770646 ] 

Jonathan Ellis commented on CASSANDRA-350:
------------------------------------------

well, there's two bail out cases

the first is "the index tells us there can't possibly be data we're looking for here" and that should work fine w/ reversed

the second is "i've scanned some data in a block and I know I can stop scanning early b/c I reached finished" and you're right, that one can't be done w/ reversed

> optimize away unnecessary range scans
> -------------------------------------
>
>                 Key: CASSANDRA-350
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-350
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>            Reporter: Jonathan Ellis
>            Assignee: Gary Dusbabek
>             Fix For: 0.5
>
>         Attachments: cassandra-350-v2-tests.patch, cassandra-350-v2.patch, cassandra-350.patch
>
>
> Even when a the columns exist for a given key, they usually won't exist in all the sstable segments.  So avoiding the scan when the column index shows we can, will be a win.
> This is what the todo in SSTableSliceIterator is about:
>         // TODO push finishColumn down here too, so we can tell when we're done and optimize away the slice when the index + start/stop shows there's nothing to scan for

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


[jira] Updated: (CASSANDRA-350) optimize away unnecessary range scans

Posted by "Gary Dusbabek (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CASSANDRA-350?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Gary Dusbabek updated CASSANDRA-350:
------------------------------------

    Attachment: cassandra-350.patch

> optimize away unnecessary range scans
> -------------------------------------
>
>                 Key: CASSANDRA-350
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-350
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>            Reporter: Jonathan Ellis
>            Assignee: Gary Dusbabek
>             Fix For: 0.5
>
>         Attachments: cassandra-350.patch
>
>
> Even when a the columns exist for a given key, they usually won't exist in all the sstable segments.  So avoiding the scan when the column index shows we can, will be a win.
> This is what the todo in SSTableSliceIterator is about:
>         // TODO push finishColumn down here too, so we can tell when we're done and optimize away the slice when the index + start/stop shows there's nothing to scan for

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


[jira] Updated: (CASSANDRA-350) optimize away unnecessary range scans

Posted by "Gary Dusbabek (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CASSANDRA-350?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Gary Dusbabek updated CASSANDRA-350:
------------------------------------

    Attachment: cassandra-350-v3.patch

Includes other fixes and unit tests.

> optimize away unnecessary range scans
> -------------------------------------
>
>                 Key: CASSANDRA-350
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-350
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>            Reporter: Jonathan Ellis
>            Assignee: Gary Dusbabek
>             Fix For: 0.5
>
>         Attachments: cassandra-350-v2-tests.patch, cassandra-350-v2.patch, cassandra-350-v3.patch, cassandra-350.patch
>
>
> Even when a the columns exist for a given key, they usually won't exist in all the sstable segments.  So avoiding the scan when the column index shows we can, will be a win.
> This is what the todo in SSTableSliceIterator is about:
>         // TODO push finishColumn down here too, so we can tell when we're done and optimize away the slice when the index + start/stop shows there's nothing to scan for

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


[jira] Commented: (CASSANDRA-350) optimize away unnecessary range scans

Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-350?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12771015#action_12771015 ] 

Jonathan Ellis commented on CASSANDRA-350:
------------------------------------------

 - won't there be conditions w/ this version where outOfBounds will be hit in the while loop, so getNextBlock returns true, so it will be called again, doing another seek?
 - i think we can safely bail before seeking if the first outOfBounds test is true.  attaching patch (to apply on top of yours)

> optimize away unnecessary range scans
> -------------------------------------
>
>                 Key: CASSANDRA-350
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-350
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>            Reporter: Jonathan Ellis
>            Assignee: Gary Dusbabek
>             Fix For: 0.5
>
>         Attachments: 350-diff-to-v3.patch, cassandra-350-v2-tests.patch, cassandra-350-v2.patch, cassandra-350-v3.patch, cassandra-350.patch
>
>
> Even when a the columns exist for a given key, they usually won't exist in all the sstable segments.  So avoiding the scan when the column index shows we can, will be a win.
> This is what the todo in SSTableSliceIterator is about:
>         // TODO push finishColumn down here too, so we can tell when we're done and optimize away the slice when the index + start/stop shows there's nothing to scan for

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


[jira] Commented: (CASSANDRA-350) optimize away unnecessary range scans

Posted by "Gary Dusbabek (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-350?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12771934#action_12771934 ] 

Gary Dusbabek commented on CASSANDRA-350:
-----------------------------------------

return !outOfBounds would work. I'll attach another patch.

> optimize away unnecessary range scans
> -------------------------------------
>
>                 Key: CASSANDRA-350
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-350
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>            Reporter: Jonathan Ellis
>            Assignee: Gary Dusbabek
>             Fix For: 0.5
>
>         Attachments: 350-diff-to-v3.patch, cassandra-350-v2-tests.patch, cassandra-350-v2.patch, cassandra-350-v3.patch, cassandra-350-v4.patch, cassandra-350.patch
>
>
> Even when a the columns exist for a given key, they usually won't exist in all the sstable segments.  So avoiding the scan when the column index shows we can, will be a win.
> This is what the todo in SSTableSliceIterator is about:
>         // TODO push finishColumn down here too, so we can tell when we're done and optimize away the slice when the index + start/stop shows there's nothing to scan for

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


[jira] Commented: (CASSANDRA-350) optimize away unnecessary range scans

Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-350?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12771658#action_12771658 ] 

Jonathan Ellis commented on CASSANDRA-350:
------------------------------------------

> won't there be conditions w/ this version where outOfBounds will be hit in the while loop, so getNextBlock returns true, so it will be called again, doing another seek? 

so where i was going with this is, if we hit outOfBounds in the while loop, we really need to return false so getNextBlock doesn't get called again.  right?

would "return !outOfBounds" work?

> optimize away unnecessary range scans
> -------------------------------------
>
>                 Key: CASSANDRA-350
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-350
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>            Reporter: Jonathan Ellis
>            Assignee: Gary Dusbabek
>             Fix For: 0.5
>
>         Attachments: 350-diff-to-v3.patch, cassandra-350-v2-tests.patch, cassandra-350-v2.patch, cassandra-350-v3.patch, cassandra-350-v4.patch, cassandra-350.patch
>
>
> Even when a the columns exist for a given key, they usually won't exist in all the sstable segments.  So avoiding the scan when the column index shows we can, will be a win.
> This is what the todo in SSTableSliceIterator is about:
>         // TODO push finishColumn down here too, so we can tell when we're done and optimize away the slice when the index + start/stop shows there's nothing to scan for

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


[jira] Commented: (CASSANDRA-350) optimize away unnecessary range scans

Posted by "Hudson (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-350?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12773036#action_12773036 ] 

Hudson commented on CASSANDRA-350:
----------------------------------

Integrated in Cassandra #247 (See [http://hudson.zones.apache.org/hudson/job/Cassandra/247/])
    optimize away unnecessary seeks during range scan
patch by Gary Dusbabek; reviewed by jbellis for 


> optimize away unnecessary range scans
> -------------------------------------
>
>                 Key: CASSANDRA-350
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-350
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>            Reporter: Jonathan Ellis
>            Assignee: Gary Dusbabek
>             Fix For: 0.5
>
>         Attachments: 350-diff-to-v3.patch, cassandra-350-v2-tests.patch, cassandra-350-v2.patch, cassandra-350-v3.patch, cassandra-350-v4.patch, cassandra-350.patch
>
>
> Even when a the columns exist for a given key, they usually won't exist in all the sstable segments.  So avoiding the scan when the column index shows we can, will be a win.
> This is what the todo in SSTableSliceIterator is about:
>         // TODO push finishColumn down here too, so we can tell when we're done and optimize away the slice when the index + start/stop shows there's nothing to scan for

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


[jira] Resolved: (CASSANDRA-350) optimize away unnecessary range scans

Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CASSANDRA-350?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jonathan Ellis resolved CASSANDRA-350.
--------------------------------------

    Resolution: Fixed

committed

> optimize away unnecessary range scans
> -------------------------------------
>
>                 Key: CASSANDRA-350
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-350
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>            Reporter: Jonathan Ellis
>            Assignee: Gary Dusbabek
>             Fix For: 0.5
>
>         Attachments: 350-diff-to-v3.patch, cassandra-350-v2-tests.patch, cassandra-350-v2.patch, cassandra-350-v3.patch, cassandra-350-v4.patch, cassandra-350.patch
>
>
> Even when a the columns exist for a given key, they usually won't exist in all the sstable segments.  So avoiding the scan when the column index shows we can, will be a win.
> This is what the todo in SSTableSliceIterator is about:
>         // TODO push finishColumn down here too, so we can tell when we're done and optimize away the slice when the index + start/stop shows there's nothing to scan for

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


[jira] Commented: (CASSANDRA-350) optimize away unnecessary range scans

Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-350?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12770541#action_12770541 ] 

Jonathan Ellis commented on CASSANDRA-350:
------------------------------------------

can you turn the println/toStrings stuff into tests using assertColumns ?

> optimize away unnecessary range scans
> -------------------------------------
>
>                 Key: CASSANDRA-350
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-350
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>            Reporter: Jonathan Ellis
>            Assignee: Gary Dusbabek
>             Fix For: 0.5
>
>         Attachments: cassandra-350-v2-tests.patch, cassandra-350-v2.patch, cassandra-350.patch
>
>
> Even when a the columns exist for a given key, they usually won't exist in all the sstable segments.  So avoiding the scan when the column index shows we can, will be a win.
> This is what the todo in SSTableSliceIterator is about:
>         // TODO push finishColumn down here too, so we can tell when we're done and optimize away the slice when the index + start/stop shows there's nothing to scan for

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


[jira] Updated: (CASSANDRA-350) optimize away unnecessary range scans

Posted by "Michael Greene (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CASSANDRA-350?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Michael Greene updated CASSANDRA-350:
-------------------------------------

    Component/s: Core

> optimize away unnecessary range scans
> -------------------------------------
>
>                 Key: CASSANDRA-350
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-350
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>            Reporter: Jonathan Ellis
>             Fix For: 0.5
>
>
> Even when a the columns exist for a given key, they usually won't exist in all the sstable segments.  So avoiding the scan when the column index shows we can, will be a win.
> This is what the todo in SSTableSliceIterator is about:
>         // TODO push finishColumn down here too, so we can tell when we're done and optimize away the slice when the index + start/stop shows there's nothing to scan for

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


[jira] Commented: (CASSANDRA-350) optimize away unnecessary range scans

Posted by "Gary Dusbabek (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-350?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12771935#action_12771935 ] 

Gary Dusbabek commented on CASSANDRA-350:
-----------------------------------------

On second thought, I don't think we want to do that.  If you look at the places getNextBlock is called (it really should be private) it needs to return true any time columns are added to blockColumns.

> optimize away unnecessary range scans
> -------------------------------------
>
>                 Key: CASSANDRA-350
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-350
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>            Reporter: Jonathan Ellis
>            Assignee: Gary Dusbabek
>             Fix For: 0.5
>
>         Attachments: 350-diff-to-v3.patch, cassandra-350-v2-tests.patch, cassandra-350-v2.patch, cassandra-350-v3.patch, cassandra-350-v4.patch, cassandra-350.patch
>
>
> Even when a the columns exist for a given key, they usually won't exist in all the sstable segments.  So avoiding the scan when the column index shows we can, will be a win.
> This is what the todo in SSTableSliceIterator is about:
>         // TODO push finishColumn down here too, so we can tell when we're done and optimize away the slice when the index + start/stop shows there's nothing to scan for

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


[jira] Updated: (CASSANDRA-350) optimize away unnecessary range scans

Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CASSANDRA-350?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jonathan Ellis updated CASSANDRA-350:
-------------------------------------

    Attachment: 350-diff-to-v3.patch

> optimize away unnecessary range scans
> -------------------------------------
>
>                 Key: CASSANDRA-350
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-350
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>            Reporter: Jonathan Ellis
>            Assignee: Gary Dusbabek
>             Fix For: 0.5
>
>         Attachments: 350-diff-to-v3.patch, cassandra-350-v2-tests.patch, cassandra-350-v2.patch, cassandra-350-v3.patch, cassandra-350.patch
>
>
> Even when a the columns exist for a given key, they usually won't exist in all the sstable segments.  So avoiding the scan when the column index shows we can, will be a win.
> This is what the todo in SSTableSliceIterator is about:
>         // TODO push finishColumn down here too, so we can tell when we're done and optimize away the slice when the index + start/stop shows there's nothing to scan for

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


[jira] Commented: (CASSANDRA-350) optimize away unnecessary range scans

Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-350?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12771939#action_12771939 ] 

Jonathan Ellis commented on CASSANDRA-350:
------------------------------------------

yeah, you're right.

so i think it's okay the way it is, since it does the ++ or -- to the index, so next call it should be at a point where the first check says "nothing to see here."

will apply v4.

> optimize away unnecessary range scans
> -------------------------------------
>
>                 Key: CASSANDRA-350
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-350
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>            Reporter: Jonathan Ellis
>            Assignee: Gary Dusbabek
>             Fix For: 0.5
>
>         Attachments: 350-diff-to-v3.patch, cassandra-350-v2-tests.patch, cassandra-350-v2.patch, cassandra-350-v3.patch, cassandra-350-v4.patch, cassandra-350.patch
>
>
> Even when a the columns exist for a given key, they usually won't exist in all the sstable segments.  So avoiding the scan when the column index shows we can, will be a win.
> This is what the todo in SSTableSliceIterator is about:
>         // TODO push finishColumn down here too, so we can tell when we're done and optimize away the slice when the index + start/stop shows there's nothing to scan for

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


[jira] Commented: (CASSANDRA-350) optimize away unnecessary range scans

Posted by "Gary Dusbabek (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-350?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12770638#action_12770638 ] 

Gary Dusbabek commented on CASSANDRA-350:
-----------------------------------------

After working up some test cases and examining the code more closely, it appears that we can't optimize the case where reversed==true, since it starts reading at the last block anyway, and when it gets to the first block, it must start at the beginning to find finishColumn.

Am I seeing things correctly?

> optimize away unnecessary range scans
> -------------------------------------
>
>                 Key: CASSANDRA-350
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-350
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>            Reporter: Jonathan Ellis
>            Assignee: Gary Dusbabek
>             Fix For: 0.5
>
>         Attachments: cassandra-350-v2-tests.patch, cassandra-350-v2.patch, cassandra-350.patch
>
>
> Even when a the columns exist for a given key, they usually won't exist in all the sstable segments.  So avoiding the scan when the column index shows we can, will be a win.
> This is what the todo in SSTableSliceIterator is about:
>         // TODO push finishColumn down here too, so we can tell when we're done and optimize away the slice when the index + start/stop shows there's nothing to scan for

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


[jira] Commented: (CASSANDRA-350) optimize away unnecessary range scans

Posted by "Gary Dusbabek (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-350?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12771020#action_12771020 ] 

Gary Dusbabek commented on CASSANDRA-350:
-----------------------------------------

I thought it was important to execute the curRangeIndex increment/decrement after the logic was executed.  

But yeah, I definitely should have been returning false instead of letting it fall through to true.

> optimize away unnecessary range scans
> -------------------------------------
>
>                 Key: CASSANDRA-350
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-350
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>            Reporter: Jonathan Ellis
>            Assignee: Gary Dusbabek
>             Fix For: 0.5
>
>         Attachments: 350-diff-to-v3.patch, cassandra-350-v2-tests.patch, cassandra-350-v2.patch, cassandra-350-v3.patch, cassandra-350.patch
>
>
> Even when a the columns exist for a given key, they usually won't exist in all the sstable segments.  So avoiding the scan when the column index shows we can, will be a win.
> This is what the todo in SSTableSliceIterator is about:
>         // TODO push finishColumn down here too, so we can tell when we're done and optimize away the slice when the index + start/stop shows there's nothing to scan for

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


[jira] Commented: (CASSANDRA-350) optimize away unnecessary range scans

Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-350?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12768947#action_12768947 ] 

Jonathan Ellis commented on CASSANDRA-350:
------------------------------------------

ok, that is fine so far.  the "optimize away the slice" means we should avoid reading an entire block of columns in the Reader when the index information combined with start,finish means there can't possibly be a matching column.

> optimize away unnecessary range scans
> -------------------------------------
>
>                 Key: CASSANDRA-350
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-350
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>            Reporter: Jonathan Ellis
>            Assignee: Gary Dusbabek
>             Fix For: 0.5
>
>         Attachments: cassandra-350.patch
>
>
> Even when a the columns exist for a given key, they usually won't exist in all the sstable segments.  So avoiding the scan when the column index shows we can, will be a win.
> This is what the todo in SSTableSliceIterator is about:
>         // TODO push finishColumn down here too, so we can tell when we're done and optimize away the slice when the index + start/stop shows there's nothing to scan for

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


[jira] Updated: (CASSANDRA-350) optimize away unnecessary range scans

Posted by "Gary Dusbabek (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CASSANDRA-350?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Gary Dusbabek updated CASSANDRA-350:
------------------------------------

    Attachment: cassandra-350-v2-tests.patch
                cassandra-350-v2.patch

A new patch with some code I used for testing.

> optimize away unnecessary range scans
> -------------------------------------
>
>                 Key: CASSANDRA-350
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-350
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>            Reporter: Jonathan Ellis
>            Assignee: Gary Dusbabek
>             Fix For: 0.5
>
>         Attachments: cassandra-350-v2-tests.patch, cassandra-350-v2.patch, cassandra-350.patch
>
>
> Even when a the columns exist for a given key, they usually won't exist in all the sstable segments.  So avoiding the scan when the column index shows we can, will be a win.
> This is what the todo in SSTableSliceIterator is about:
>         // TODO push finishColumn down here too, so we can tell when we're done and optimize away the slice when the index + start/stop shows there's nothing to scan for

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


[jira] Assigned: (CASSANDRA-350) optimize away unnecessary range scans

Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CASSANDRA-350?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jonathan Ellis reassigned CASSANDRA-350:
----------------------------------------

    Assignee: Gary Dusbabek

> optimize away unnecessary range scans
> -------------------------------------
>
>                 Key: CASSANDRA-350
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-350
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>            Reporter: Jonathan Ellis
>            Assignee: Gary Dusbabek
>             Fix For: 0.5
>
>
> Even when a the columns exist for a given key, they usually won't exist in all the sstable segments.  So avoiding the scan when the column index shows we can, will be a win.
> This is what the todo in SSTableSliceIterator is about:
>         // TODO push finishColumn down here too, so we can tell when we're done and optimize away the slice when the index + start/stop shows there's nothing to scan for

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