You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@cassandra.apache.org by Manu Zhang <ow...@gmail.com> on 2012/11/08 08:23:22 UTC

get_range_slice gets no rowcache support?

I've asked this question before. And after reading the source codes, I find
that get_range_slice doesn't query rowcache before reading from Memtable
and SSTable. I just want to make sure whether I've overlooked something. If
my observation is correct, what's the consideration here?

Re: get_range_slice gets no rowcache support?

Posted by Manu Zhang <ow...@gmail.com>.
yes, https://issues.apache.org/jira/browse/CASSANDRA-1302
thanks


On Wed, Nov 14, 2012 at 2:04 AM, Tyler Hobbs <ty...@datastax.com> wrote:

> As far as I know, the row cache has never been populated by
> get_range_slices(), only normal gets/multigets.  The behavior is this way
> because get_range_slices() is almost exclusively used to page over an
> entire column family, which generally would not fit into the cache and
> would simply a) ruin your cache if used for gets (b) generate a lot of
> extra garbage, and (c) result in nothing but cache misses.
>
> With that said, I'm sure there are still a few use cases where using the
> cache would be beneficial, so I'm sure there's a ticket out there somewhere
> that presents a few options for supporting this.
>
>
> On Thu, Nov 8, 2012 at 8:39 PM, Manu Zhang <ow...@gmail.com>wrote:
>
>> I did overlook something. get_range_slice will invoke cfs.getRawCachedRow
>> instead of cfs.getThroughCache. Hence, no row will be cached if it's not
>> present in the row cache. Well, this puzzles me further as to that how the
>> range of rows is expected to get stored into the row cache in the first
>> place.
>>
>> Would someone please clarify it for me? Thanks in advance.
>>
>>
>> On Thu, Nov 8, 2012 at 3:23 PM, Manu Zhang <ow...@gmail.com>wrote:
>>
>>> I've asked this question before. And after reading the source codes, I
>>> find that get_range_slice doesn't query rowcache before reading from
>>> Memtable and SSTable. I just want to make sure whether I've overlooked
>>> something. If my observation is correct, what's the consideration here?
>>
>>
>>
>
>
> --
> Tyler Hobbs
> DataStax <http://datastax.com/>
>
>

Re: get_range_slice gets no rowcache support?

Posted by Tyler Hobbs <ty...@datastax.com>.
As far as I know, the row cache has never been populated by
get_range_slices(), only normal gets/multigets.  The behavior is this way
because get_range_slices() is almost exclusively used to page over an
entire column family, which generally would not fit into the cache and
would simply a) ruin your cache if used for gets (b) generate a lot of
extra garbage, and (c) result in nothing but cache misses.

With that said, I'm sure there are still a few use cases where using the
cache would be beneficial, so I'm sure there's a ticket out there somewhere
that presents a few options for supporting this.


On Thu, Nov 8, 2012 at 8:39 PM, Manu Zhang <ow...@gmail.com> wrote:

> I did overlook something. get_range_slice will invoke cfs.getRawCachedRow
> instead of cfs.getThroughCache. Hence, no row will be cached if it's not
> present in the row cache. Well, this puzzles me further as to that how the
> range of rows is expected to get stored into the row cache in the first
> place.
>
> Would someone please clarify it for me? Thanks in advance.
>
>
> On Thu, Nov 8, 2012 at 3:23 PM, Manu Zhang <ow...@gmail.com>wrote:
>
>> I've asked this question before. And after reading the source codes, I
>> find that get_range_slice doesn't query rowcache before reading from
>> Memtable and SSTable. I just want to make sure whether I've overlooked
>> something. If my observation is correct, what's the consideration here?
>
>
>


-- 
Tyler Hobbs
DataStax <http://datastax.com/>

Re: get_range_slice gets no rowcache support?

Posted by Manu Zhang <ow...@gmail.com>.
I did overlook something. get_range_slice will invoke cfs.getRawCachedRow
instead of cfs.getThroughCache. Hence, no row will be cached if it's not
present in the row cache. Well, this puzzles me further as to that how the
range of rows is expected to get stored into the row cache in the first
place.

Would someone please clarify it for me? Thanks in advance.


On Thu, Nov 8, 2012 at 3:23 PM, Manu Zhang <ow...@gmail.com> wrote:

> I've asked this question before. And after reading the source codes, I
> find that get_range_slice doesn't query rowcache before reading from
> Memtable and SSTable. I just want to make sure whether I've overlooked
> something. If my observation is correct, what's the consideration here?