You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "T Jake Luciani (JIRA)" <ji...@apache.org> on 2010/07/20 04:08:49 UTC

[jira] Created: (CASSANDRA-1302) Allow Row Iterator to use the RowCache

Allow Row Iterator to use the RowCache
--------------------------------------

                 Key: CASSANDRA-1302
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1302
             Project: Cassandra
          Issue Type: Improvement
          Components: Core
            Reporter: T Jake Luciani



Range slices are very slow. 

I've discovered this is caused by the RowIterator ignoring the row cache.

I've altered the code to use the row cache and now see a factor of 30 performance boost.



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


[jira] Updated: (CASSANDRA-1302) Allow Row Iterator to use the RowCache

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

T Jake Luciani updated CASSANDRA-1302:
--------------------------------------

    Attachment: row-iterator-cache-patch-2.txt

next patch checks the cache and if not found uses current logic

> Allow Row Iterator to use the RowCache
> --------------------------------------
>
>                 Key: CASSANDRA-1302
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1302
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>            Reporter: T Jake Luciani
>         Attachments: row-iterator-cache-patch-2.txt, row-iterator-cache-patch.txt
>
>
> Range slices are very slow. 
> I've discovered this is caused by the RowIterator ignoring the row cache.
> I've altered the code to use the row cache and now see a factor of 30 performance boost.

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


[jira] Commented: (CASSANDRA-1302) Allow Row Iterator to use the RowCache

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

Jonathan Ellis commented on CASSANDRA-1302:
-------------------------------------------

use cfs.getRawCachedRow(key)

> Allow Row Iterator to use the RowCache
> --------------------------------------
>
>                 Key: CASSANDRA-1302
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1302
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>            Reporter: T Jake Luciani
>         Attachments: row-iterator-cache-patch.txt
>
>
> Range slices are very slow. 
> I've discovered this is caused by the RowIterator ignoring the row cache.
> I've altered the code to use the row cache and now see a factor of 30 performance boost.

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


[jira] Commented: (CASSANDRA-1302) Allow Row Iterator to use the RowCache

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

Jonathan Ellis commented on CASSANDRA-1302:
-------------------------------------------

(a) we don't want to pollute the row cache w/ data from range queries, since you can completely displace your hot rows w/ a single RQ of rows that will never be used again.

(b) the reason RIF is going through so much drama there is we are going through a lot of effort to be able to re-use the readers and filters from one row on the next one.  once you're scanning through non-hot data (e.g. most hadoop jobs) using normal getCF is going to be much slower.

(c) it should be okay to check the row cache as a fast-path though.  maybe even populate the row cache _if_ the row cache is not full to capacity.

> Allow Row Iterator to use the RowCache
> --------------------------------------
>
>                 Key: CASSANDRA-1302
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1302
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>            Reporter: T Jake Luciani
>         Attachments: row-iterator-cache-patch.txt
>
>
> Range slices are very slow. 
> I've discovered this is caused by the RowIterator ignoring the row cache.
> I've altered the code to use the row cache and now see a factor of 30 performance boost.

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


[jira] Resolved: (CASSANDRA-1302) Allow Row Iterator to use the RowCache

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

Jonathan Ellis resolved CASSANDRA-1302.
---------------------------------------

         Assignee: T Jake Luciani
    Fix Version/s: 0.7 beta 1
       Resolution: Fixed

committed w/ change to extract the cache code from getCF into CFS.filterColumnFamily and pass the raw row there from RIF, so you don't have the chance of a row being in the cache when we check the raw call, but pushed out by the time we call getCF.

> Allow Row Iterator to use the RowCache
> --------------------------------------
>
>                 Key: CASSANDRA-1302
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1302
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>            Reporter: T Jake Luciani
>            Assignee: T Jake Luciani
>             Fix For: 0.7 beta 1
>
>         Attachments: row-iterator-cache-patch-2.txt, row-iterator-cache-patch.txt
>
>
> Range slices are very slow. 
> I've discovered this is caused by the RowIterator ignoring the row cache.
> I've altered the code to use the row cache and now see a factor of 30 performance boost.

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


[jira] Updated: (CASSANDRA-1302) Allow Row Iterator to use the RowCache

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

T Jake Luciani updated CASSANDRA-1302:
--------------------------------------

    Attachment: row-iterator-cache-patch.txt

> Allow Row Iterator to use the RowCache
> --------------------------------------
>
>                 Key: CASSANDRA-1302
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1302
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>            Reporter: T Jake Luciani
>         Attachments: row-iterator-cache-patch.txt
>
>
> Range slices are very slow. 
> I've discovered this is caused by the RowIterator ignoring the row cache.
> I've altered the code to use the row cache and now see a factor of 30 performance boost.

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


[jira] Commented: (CASSANDRA-1302) Allow Row Iterator to use the RowCache

Posted by "T Jake Luciani (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-1302?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12890508#action_12890508 ] 

T Jake Luciani commented on CASSANDRA-1302:
-------------------------------------------

a) yeah I thought if this after

c) how can I tell if a row is cached or not?

> Allow Row Iterator to use the RowCache
> --------------------------------------
>
>                 Key: CASSANDRA-1302
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1302
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>            Reporter: T Jake Luciani
>         Attachments: row-iterator-cache-patch.txt
>
>
> Range slices are very slow. 
> I've discovered this is caused by the RowIterator ignoring the row cache.
> I've altered the code to use the row cache and now see a factor of 30 performance boost.

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


[jira] Commented: (CASSANDRA-1302) Allow Row Iterator to use the RowCache

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

Hudson commented on CASSANDRA-1302:
-----------------------------------

Integrated in Cassandra #497 (See [http://hudson.zones.apache.org/hudson/job/Cassandra/497/])
    take advantage of row cache during range queries where possible.  patch by tjake and jbellis for CASSANDRA-1302


> Allow Row Iterator to use the RowCache
> --------------------------------------
>
>                 Key: CASSANDRA-1302
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1302
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>            Reporter: T Jake Luciani
>            Assignee: T Jake Luciani
>             Fix For: 0.7 beta 1
>
>         Attachments: row-iterator-cache-patch-2.txt, row-iterator-cache-patch.txt
>
>
> Range slices are very slow. 
> I've discovered this is caused by the RowIterator ignoring the row cache.
> I've altered the code to use the row cache and now see a factor of 30 performance boost.

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