hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Guanghao Zhang (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-16460) Can't rebuild the BucketAllocator's data structures when BucketCache use FileIOEngine
Date Mon, 22 Aug 2016 08:30:21 GMT

    [ https://issues.apache.org/jira/browse/HBASE-16460?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15430295#comment-15430295
] 

Guanghao Zhang commented on HBASE-16460:
----------------------------------------

Ok. I took a look about the previous code, it can cache block but can't read block from cache
or read wrong data from cache when backing map is inconsistent with bucking allocator. After
this fix, the backing map is also inconsistent with bucking allocator if we got exception......
Maybe we should remove the bucket entry from the backing map if we got exception?

> Can't rebuild the BucketAllocator's data structures when BucketCache use FileIOEngine
> -------------------------------------------------------------------------------------
>
>                 Key: HBASE-16460
>                 URL: https://issues.apache.org/jira/browse/HBASE-16460
>             Project: HBase
>          Issue Type: Bug
>          Components: BucketCache
>    Affects Versions: 2.0.0, 1.1.6, 1.3.1, 1.2.3, 0.98.22
>            Reporter: Guanghao Zhang
>            Assignee: Guanghao Zhang
>         Attachments: HBASE-16460-v1.patch, HBASE-16460.patch
>
>
> When bucket cache use FileIOEngine, it will rebuild the bucket allocator's data structures
from a persisted map. So it should first read the map from persistence file then use the map
to new a BucketAllocator. But now the code has wrong sequence in retrieveFromFile() method
of BucketCache.java.
> {code}
>       BucketAllocator allocator = new BucketAllocator(cacheCapacity, bucketSizes, backingMap,
realCacheSize);
>       backingMap = (ConcurrentHashMap<BlockCacheKey, BucketEntry>) ois.readObject();
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message