You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Duo Zhang (Jira)" <ji...@apache.org> on 2019/12/12 01:58:00 UTC
[jira] [Commented] (HBASE-22124) Optimize the performance for
region moving
[ https://issues.apache.org/jira/browse/HBASE-22124?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16994067#comment-16994067 ]
Duo Zhang commented on HBASE-22124:
-----------------------------------
[~stack] OK the issue is here. For fast converting encoded region name to region name.
> Optimize the performance for region moving
> ------------------------------------------
>
> Key: HBASE-22124
> URL: https://issues.apache.org/jira/browse/HBASE-22124
> Project: HBase
> Issue Type: Improvement
> Reporter: Duo Zhang
> Priority: Major
> Attachments: HBASE-22124.v0.patch
>
>
> It is an admin operation so we do not care much about the performance in the past, but it is really important for rolling upgrade.
> For AsyncAdmin, if encoded name is present at client side, we will always scan the whole meta region to find the region record first, which is really expensive for a large cluster.
> And we always send the encoded name to master, so at master side, we still need the encoded name -> region name converting, and it is still very expensive
> {code}
> public RegionState getRegionState(final String encodedRegionName) {
> // TODO: Need a map <encodedName, ...> but it is just dispatch merge...
> for (RegionStateNode node: regionsMap.values()) {
> if (node.getRegionInfo().getEncodedName().equals(encodedRegionName)) {
> return node.toRegionState();
> }
> }
> return null;
> }
> {code}
> Need to fix them both.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)