[ https://issues.apache.org/jira/browse/HBASE-22422?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16840167#comment-16840167 ]
Zheng Hu commented on HBASE-22422: ---------------------------------- The following code may also have some problem (HFileReaderImpl#readBlock): {code} // Load block from filesystem. HFileBlock hfileBlock = fsBlockReader.readBlockData(dataBlockOffset, onDiskBlockSize, pread, !isCompaction, shouldUseHeap(expectedBlockType)); validateBlockType(hfileBlock, expectedBlockType); HFileBlock unpacked = hfileBlock.unpack(hfileContext, fsBlockReader); BlockType.BlockCategory category = hfileBlock.getBlockType().getCategory(); // Cache the block if necessary AtomicBoolean cachedRaw = new AtomicBoolean(false); cacheConf.getBlockCache().ifPresent(cache -> { if (cacheBlock && cacheConf.shouldCacheBlockOnRead(category)) { cachedRaw.set(cacheConf.shouldCacheCompressed(category)); cache.cacheBlock(cacheKey, cachedRaw.get() ? hfileBlock : unpacked, cacheConf.isInMemory()); } }); if (unpacked != hfileBlock && !cachedRaw.get()) { // End of life here if hfileBlock is an independent block. hfileBlock.release(); } {code} > Retain an ByteBuff with refCnt=0 when getBlock from LRUCache > ------------------------------------------------------------ > > Key: HBASE-22422 > URL: https://issues.apache.org/jira/browse/HBASE-22422 > Project: HBase > Issue Type: Sub-task > Reporter: Zheng Hu > Assignee: Zheng Hu > Priority: Major > Attachments: LRUBlockCache-getBlock.png, > image-2019-05-15-12-00-03-641.png > > > After runing YCSB scan/get benchmark in our XiaoMi cluster, we found the get > QPS dropped from 25000/s to hunderds per second in a cluster with five > nodes. > After enable the debug log at YCSB client side, I found the following > stacktrace , see > https://issues.apache.org/jira/secure/attachment/12968745/image-2019-05-15-12-00-03-641.png > Need a patch to fix this. -- This message was sent by Atlassian JIRA (v7.6.3#76005)