[
https://issues.apache.org/jira/browse/HBASE-21355?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16659016#comment-16659016
]
Hudson commented on HBASE-21355:
--------------------------------
SUCCESS: Integrated in Jenkins build HBase-1.3-IT #494 (See
[https://builds.apache.org/job/HBase-1.3-IT/494/])
HBASE-21355 HStore's storeSize is calculated repeatedly which causing (openinx:
rev ab5e7c2b604c78f69b753a4712818ec56b07915e)
* (edit)
hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HStore.java
* (edit)
hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestAdmin2.java
> HStore's storeSize is calculated repeatedly which causing the confusing
> region split
> -------------------------------------------------------------------------------------
>
> Key: HBASE-21355
> URL: https://issues.apache.org/jira/browse/HBASE-21355
> Project: HBase
> Issue Type: Bug
> Components: regionserver
> Reporter: Zheng Hu
> Assignee: Zheng Hu
> Priority: Blocker
> Fix For: 3.0.0, 1.5.0, 1.3.3, 2.2.0, 2.1.1, 2.0.3, 1.4.9
>
> Attachments: HBASE-21355.addendum.patch, HBASE-21355.addendum.patch,
> HBASE-21355.branch-1.patch, HBASE-21355.v1.patch
>
>
> When testing the branch-2's write performance in our internal cluster, we
> found that the region will be inexplicably split.
> We use the default ConstantSizeRegionSplitPolicy and
> hbase.hregion.max.filesize=40G,but the region will be split even if its
> bytes size is less than 40G(only ~6G).
> Checked the code, I found that the following path will accumulate the
> store's storeSize to a very big value, because the path has no reset..
> {code}
> RsRpcServices#getRegionInfo
> -> HRegion#isMergeable
> -> HRegion#hasReferences
> -> HStore#hasReferences
> -> HStore#openStoreFiles
> {code}
> BTW, we seems forget to maintain the read replica's storeSize when refresh
> the store files.
> Some comment here, I move the storeSize calculation out of loadStoreFiles()
> method, because the secondary read replica's refreshStoreFiles() will also
> use loadStoreFiles() to refresh its store files and update the storeSize in
> the completeCompaction(..) in the final (just like compaction.) , so no need
> calculate the storeSize twice..
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)