[ https://issues.apache.org/jira/browse/HBASE-7786?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13573715#comment-13573715 ]
Matteo Bertozzi commented on HBASE-7786: ---------------------------------------- {quote} {code} Used only by tests and SplitTransaction to reopen the region. You should use createHRegion() or openHRegion() {code} Is it possible to get rid of it instead? It just does redirect to different method, might as well have it in the tests themselves. {quote} Nah... the idea was naving initialize() private, since the user should not know about that... but a couple of tests uses the constructor new HRegion() { @override method() } to slightly change the behaviour... I guess I can mock it, or set the REGION_IMPL but it makes the test less readable. {quote} HRegion createDaughterRegion(final HRegionInfo hri, final Path daughterTmpDir) Is this used anywhere except for the other overload? {quote} This is used only by the split code, and inside HRegion just to make newHRegion() private > Consolidate HRegion creation/opening API > ---------------------------------------- > > Key: HBASE-7786 > URL: https://issues.apache.org/jira/browse/HBASE-7786 > Project: HBase > Issue Type: Bug > Components: regionserver > Affects Versions: 0.96.0 > Reporter: Matteo Bertozzi > Assignee: Matteo Bertozzi > Attachments: HBASE-7786-v0.patch, HBASE-7786-v1.patch > > > Currently we have 4 ways to instantiate an HRegion. > * HRegion.createHRegion() > * HRegion.openHRegion() > * HRegion.newHRegion() + r.initialize() > * new HRegion() + r.initialize() > Aside from tests and HMerge and SplitTransaction code everyone use > createHRegion() and openHRegion(). To avoid errors due to missing > initialization calls I think we should limit the access to newHRegion() and > the constructor. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira