You are close.
On 04/30/2014 12:41 AM, Jimmy Lin wrote:
thanks all for the pointers.
let' me see if I can put the sequences of event together ....
1.2
people mis-understand/mis-use row cache, that cassandra cached the entire
row of data even if you are only looking for small subset of the row data.
e.g
select single_column from a_wide_row_table
will result in entire row cached even if you are only interested in one
single column of a row.
Yep!
2.0
and because of potential misuse of heap memory, Cassandra 2.0 remove heap
cache, and only support off-heap cache, which has a side effect that write
will invalidate the row cache(my original question)
"off-heap" is a common but misleading name for the
SerializingCacheProvider. It still stores several objects on heap per
cached item and has to deser on read.
2.1
the coming 2.1 Cassandra will offer true cache by query, so the cached data
will be much more efficient even for wide rows(it cached what it needs).
do I get it right?
for the new 2.1 row caching, is it still true that a write or update to the
row will still invalidate the cached row ?
I don't think "true cache by query" is an accurate description of
CASSANDRA-5357. I think it's more like a "head of the row" cache.