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

Viraj Jasani commented on HBASE-25698:
--------------------------------------

Looks like some info related to CombinedBlockCache is present here: 
[https://hbase.apache.org/book.html#offheap.blockcache]

But configĀ _*hbase.blockcache.use.external*_ related info is missing in the doc.

I think it should be enough to document this code:
{code:java}
boolean useExternal = conf.getBoolean(EXTERNAL_BLOCKCACHE_KEY, 
EXTERNAL_BLOCKCACHE_DEFAULT);
if (useExternal) {
  BlockCache l2CacheInstance = createExternalBlockcache(conf);
  return l2CacheInstance == null ?
      l1Cache :
      new InclusiveCombinedBlockCache(l1Cache, l2CacheInstance);
} else {
  // otherwise use the bucket cache.
  BucketCache bucketCache = createBucketCache(conf);
  if (!conf.getBoolean("hbase.bucketcache.combinedcache.enabled", true)) {
    // Non combined mode is off from 2.0
    LOG.warn(
        "From HBase 2.0 onwards only combined mode of LRU cache and bucket 
cache is available");
  }
  return bucketCache == null ? l1Cache : new CombinedBlockCache(l1Cache, 
bucketCache);
}

{code}

> Persistent IllegalReferenceCountException at scanner open when using 
> TinyLfuBlockCache
> --------------------------------------------------------------------------------------
>
>                 Key: HBASE-25698
>                 URL: https://issues.apache.org/jira/browse/HBASE-25698
>             Project: HBase
>          Issue Type: Bug
>          Components: HFile, Scanners
>    Affects Versions: 2.4.2
>            Reporter: Andrew Kyle Purtell
>            Assignee: Viraj Jasani
>            Priority: Major
>             Fix For: 3.0.0-alpha-1, 2.5.0, 2.4.3
>
>
> Persistent scanner open failure with offheap read path enabled.
> Not sure how it happened. Test scenario was HBase 1 cluster replicating to 
> HBase 2 cluster. ITBLL as data generator at source, calm policy only. Scanner 
> open errors on sink HBase 2 cluster later during ITBLL verify phase. Sink 
> schema settings bloom=ROW encoding=FAST_DIFF compression=NONE.
> {noformat}
> Caused by: 
> org.apache.hbase.thirdparty.io.netty.util.IllegalReferenceCountException: 
> refCnt: 0, decrement: 1
>         at 
> org.apache.hbase.thirdparty.io.netty.util.internal.ReferenceCountUpdater.toLiveRealRefCnt(ReferenceCountUpdater.java:74)
>         at 
> org.apache.hbase.thirdparty.io.netty.util.internal.ReferenceCountUpdater.release(ReferenceCountUpdater.java:138)
>         at 
> org.apache.hbase.thirdparty.io.netty.util.AbstractReferenceCounted.release(AbstractReferenceCounted.java:76)
>         at org.apache.hadoop.hbase.nio.ByteBuff.release(ByteBuff.java:79)
>         at 
> org.apache.hadoop.hbase.io.hfile.HFileBlock.release(HFileBlock.java:429)
>         at 
> org.apache.hadoop.hbase.io.hfile.CompoundBloomFilter.contains(CompoundBloomFilter.java:109)
>         at 
> org.apache.hadoop.hbase.regionserver.StoreFileReader.checkGeneralBloomFilter(StoreFileReader.java:433)
>         at 
> org.apache.hadoop.hbase.regionserver.StoreFileReader.passesGeneralRowBloomFilter(StoreFileReader.java:322)
>         at 
> org.apache.hadoop.hbase.regionserver.StoreFileReader.passesBloomFilter(StoreFileReader.java:251)
>         at 
> org.apache.hadoop.hbase.regionserver.StoreFileScanner.shouldUseScanner(StoreFileScanner.java:491)
>         at 
> org.apache.hadoop.hbase.regionserver.StoreScanner.selectScannersFrom(StoreScanner.java:471)
>         at 
> org.apache.hadoop.hbase.regionserver.StoreScanner.<init>(StoreScanner.java:249)
>         at 
> org.apache.hadoop.hbase.regionserver.HStore.createScanner(HStore.java:2177)
>         at 
> org.apache.hadoop.hbase.regionserver.HStore.getScanner(HStore.java:2168)
>         at 
> org.apache.hadoop.hbase.regionserver.HRegion$RegionScannerImpl.initializeScanners(HRegion.java:7172)
> {noformat}
> Bloom filter type on all files here is ROW, block encoding is FAST_DIFF:
> {noformat}
> hbase:017:0> describe "IntegrationTestBigLinkedList"
> Table IntegrationTestBigLinkedList is ENABLED                                 
>                                                               
> IntegrationTestBigLinkedList                                                  
>                                                               
> COLUMN FAMILIES DESCRIPTION                                                   
>                                                               
> {NAME => 'big', BLOOMFILTER => 'ROW', IN_MEMORY => 'false', VERSIONS => '1', 
> KEEP_DELETED_CELLS => 'FALSE', DATA_BLOCK_ENCODING => 'FAST_DIF
> F', COMPRESSION => 'NONE', TTL => 'FOREVER', MIN_VERSIONS => '0', BLOCKCACHE 
> => 'true', BLOCKSIZE => '65536', REPLICATION_SCOPE => '1'}     
> {NAME => 'meta', BLOOMFILTER => 'ROW', IN_MEMORY => 'false', VERSIONS => '1', 
> KEEP_DELETED_CELLS => 'FALSE', DATA_BLOCK_ENCODING => 'FAST_DI
> FF', COMPRESSION => 'NONE', TTL => 'FOREVER', MIN_VERSIONS => '0', BLOCKCACHE 
> => 'true', BLOCKSIZE => '65536', REPLICATION_SCOPE => '1'}    
> {NAME => 'tiny', BLOOMFILTER => 'ROW', IN_MEMORY => 'false', VERSIONS => '1', 
> KEEP_DELETED_CELLS => 'FALSE', DATA_BLOCK_ENCODING => 'FAST_DI
> FF', COMPRESSION => 'NONE', TTL => 'FOREVER', MIN_VERSIONS => '0', BLOCKCACHE 
> => 'true', BLOCKSIZE => '65536', REPLICATION_SCOPE => '1'}    
> {noformat}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to