[
https://issues.apache.org/jira/browse/HBASE-5905?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Andrew Purtell resolved HBASE-5905.
-----------------------------------
Resolution: Not A Problem
> Protobuf interface for Admin: split between the internal and the
> external/customer interface
> --------------------------------------------------------------------------------------------
>
> Key: HBASE-5905
> URL: https://issues.apache.org/jira/browse/HBASE-5905
> Project: HBase
> Issue Type: Improvement
> Components: Client, master, regionserver
> Affects Versions: 0.95.2
> Reporter: Nicolas Liochon
>
> After a short discussion with Stack, I create a jira.
> --
> I'am a little bit confused by the protobuf interface for closeRegion.
> We have two types of closeRegion today:
> 1) the external ones; available in client.HBaseAdmin. They take the server
> and the region identifier as a parameter and nothing else.
> 2) The internal ones, called for example by the master. They have more
> parameters (like versionOfClosingNode or transitionInZK).
> When I look at protobuf.ProtobufUtil, I see:
> public static void closeRegion(final AdminProtocol admin,
> final byte[] regionName, final boolean transitionInZK) throws
> IOException {
> CloseRegionRequest closeRegionRequest =
> RequestConverter.buildCloseRegionRequest(regionName, transitionInZK);
> try {
> admin.closeRegion(null, closeRegionRequest);
> } catch (ServiceException se) {
> throw getRemoteException(se);
> }
> }
> In other words, it seems that we merged the two interfaces into a single one.
> Is that the intend?
> I checked, the internal fields in closeRegionRequest are all optional (that's
> good). Still, it means that the end user could use them or at least would
> need to distinguish between the "optional for functional reasons" and the
> "optional - do not use".
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)