[
https://issues.apache.org/jira/browse/HBASE-16738?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15542732#comment-15542732
]
Hudson commented on HBASE-16738:
--------------------------------
SUCCESS: Integrated in Jenkins build HBase-Trunk_matrix #1719 (See
[https://builds.apache.org/job/HBase-Trunk_matrix/1719/])
HBASE-16738 L1 cache caching shared memory HFile block when blocks
(anoopsamjohn: rev 250ad644e4445a948d1fdc09a3e292a9dd05ffa9)
* (edit)
hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/LruBlockCache.java
* (edit)
hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/HFileBlock.java
> L1 cache caching shared memory HFile block when blocks promoted from L2 to L1
> -----------------------------------------------------------------------------
>
> Key: HBASE-16738
> URL: https://issues.apache.org/jira/browse/HBASE-16738
> Project: HBase
> Issue Type: Sub-task
> Components: regionserver, Scanners
> Affects Versions: 2.0.0
> Reporter: Anoop Sam John
> Assignee: Anoop Sam John
> Fix For: 2.0.0
>
> Attachments: HBASE-16738.patch
>
>
> This is an issue when L1 and L2 cache used with combinedMode = false.
> See in getBlock
> {code}
> if (victimHandler != null && !repeat) {
> Cacheable result = victimHandler.getBlock(cacheKey, caching, repeat,
> updateCacheMetrics);
> // Promote this to L1.
> if (result != null && caching) {
> cacheBlock(cacheKey, result, /* inMemory = */ false, /* cacheData =
> */ true);
> }
> return result;
> }
> {code}
> When block is not there in L1 and have it in L2, we will return the block
> read from L2 and promote that block to L1 by adding it in LRUCache. But if
> the Block buffer is having shared memory (Off heap bucket cache for eg:) , we
> can not directly cache this block. The buffer memory area under this block
> can get cleaned up at any time. So we may get block data corruption.
> In such a case, we need to do a deep copy of the block (Including its buffer)
> and then add that to L1 cache.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)