[
https://issues.apache.org/jira/browse/HBASE-3976?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13047783#comment-13047783
]
Nicolas Spiegelberg commented on HBASE-3976:
--------------------------------------------
I don't think this patch is doing what you're expecting.
Store.completeCompaction() is at the end of a compaction. You give the new
StoreFile a pointer to the BlockCache so it is possible for that file to cache
blocks. This StoreFile (with associated reader) is put in Store.storefiles,
which is utilized for all gets/scans. It seems like your patch will
unconditionally disable the block cache for all StoreFiles that are the result
of a compaction.
The actual decision on whether you put scan requests for StoreFiles in the
block cache during compaction is handled by
StoreFileScanner.getScannersForStoreFiles() in Store.compactStores(). That is
unconditionally set to false.
> Disable Block Cache On Compactions
> ----------------------------------
>
> Key: HBASE-3976
> URL: https://issues.apache.org/jira/browse/HBASE-3976
> Project: HBase
> Issue Type: Improvement
> Components: regionserver
> Affects Versions: 0.90.3
> Reporter: Karthick Sankarachary
> Assignee: Karthick Sankarachary
> Priority: Minor
> Fix For: 0.90.4
>
> Attachments: HBASE-3976-unconditional.patch, HBASE-3976.patch
>
>
> Is there a good reason to believe that caching blocks during compactions is
> beneficial? Currently, if block cache is enabled on a certain family, then
> every time it's compacted, we load all of its blocks into the (LRU) cache, at
> the expense of the legitimately hot ones.
> As a matter of fact, this concern was raised earlier in HBASE-1597, which
> rightly points out that, "we should not bog down the LRU with unneccessary
> blocks" during compaction. Even though that issue has been marked as "fixed",
> it looks like it ought to be reopened.
> Should we err on the side of caution and not cache blocks during compactions
> period (as illustrated in the attached patch)? Or, can we be selectively
> aggressive about what blocks do get cached during compaction (e.g., only
> cache those blocks from the recent files)?
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira