[
https://issues.apache.org/jira/browse/CASSANDRA-2420?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13019400#comment-13019400
]
Sylvain Lebresne commented on CASSANDRA-2420:
---------------------------------------------
bq. I would be more comfortable having LCR throw UnsupportedOperation if asked
for full row, since You Shouldn't Do That.
Updated patch defines getFullColumnFamily() only for AbstractCompactedRow.
However I think it would be a bad idea to fail in the Builder, so the Builder
now simply invalidate the cache if he is facing a big row (hence not fitting it
in memory) and log a warning since if that happens "you're doing it wrong".
I've also changed the switch case in updateCache.
> row cache / streaming aren't aware of each other
> ------------------------------------------------
>
> Key: CASSANDRA-2420
> URL: https://issues.apache.org/jira/browse/CASSANDRA-2420
> Project: Cassandra
> Issue Type: Bug
> Affects Versions: 0.6
> Reporter: Matthew F. Dennis
> Assignee: Sylvain Lebresne
> Priority: Minor
> Fix For: 0.7.5
>
> Attachments: 0001-Handle-the-row-cache-for-streamed-row-v2.patch,
> 0001-Handle-the-row-cache-for-streamed-row.patch
>
>
> SSTableWriter.Builder.build() takes tables that resulted from streaming,
> repair, bootstrapping, et cetera and builds the indexes and bloom filters
> before "adding" it so the current node is aware of it.
> However, if there is data present in the cache for a row that is also present
> in the streamed table the row cache can over shadow the data in the newly
> built table. In other words, until the row in row cache is removed from the
> cache (e.g. because it's pushed out because of size, the node is restarted,
> the cache is manually cleared) the data in the newly built table will never
> be returned to clients.
> The solution that seems most reasonable at this point is to have
> SSTableWriter.Builder.build() (or something below it) update the row cache if
> the row key in the table being built is also present in the cache.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira