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

Matteo Bertozzi commented on HBASE-7786:
----------------------------------------

yeah VisibleForTesting seems good, but I was thinking more something like
{code}
public void methodUsedOnlyByTests() {
    if (!testing) throw new UnsupportedOperationException():
    // do stuff
}
{code}

just to make sure that a user is not using that...
I'm thinking to a situation where we remove that method because we know is only 
for test and we break binary compatibility.
                
> 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, 
> HBASE-7786-v2.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

Reply via email to