Repository: hbase Updated Branches: refs/heads/branch-2 7343da417 -> 9b7c530b6
HBASE-21084 When cloning a snapshot including a split parent region, the split parent region of the cloned table will be online - addendum Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/9b7c530b Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/9b7c530b Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/9b7c530b Branch: refs/heads/branch-2 Commit: 9b7c530b6cdbdacb67823b3c491ede83ece7d28d Parents: 7343da4 Author: Toshihiro Suzuki <brfrn...@gmail.com> Authored: Mon Aug 27 23:40:03 2018 +0900 Committer: Toshihiro Suzuki <brfrn...@gmail.com> Committed: Tue Aug 28 15:34:52 2018 +0900 ---------------------------------------------------------------------- .../org/apache/hadoop/hbase/client/RegionReplicaUtil.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hbase/blob/9b7c530b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/RegionReplicaUtil.java ---------------------------------------------------------------------- diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/RegionReplicaUtil.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/RegionReplicaUtil.java index 9c5af37..259f581 100644 --- a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/RegionReplicaUtil.java +++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/RegionReplicaUtil.java @@ -175,12 +175,13 @@ public class RegionReplicaUtil { return regions; } List<RegionInfo> hRegionInfos = new ArrayList<>((newReplicaCount) * regions.size()); - for (int i = 0; i < regions.size(); i++) { - if (RegionReplicaUtil.isDefaultReplica(regions.get(i))) { + for (RegionInfo ri : regions) { + if (RegionReplicaUtil.isDefaultReplica(ri) && + (!ri.isOffline() || (!ri.isSplit() && !ri.isSplitParent()))) { // region level replica index starts from 0. So if oldReplicaCount was 2 then the max replicaId for // the existing regions would be 1 for (int j = oldReplicaCount; j < newReplicaCount; j++) { - hRegionInfos.add(RegionReplicaUtil.getRegionInfoForReplica(regions.get(i), j)); + hRegionInfos.add(RegionReplicaUtil.getRegionInfoForReplica(ri, j)); } } }