From 138a7392e305d61120242bcdcb333b448eeee28b Mon Sep 17 00:00:00 2001 From: Jan Hentschel Date: Thu, 12 Oct 2017 10:21:20 +0200 Subject: [PATCH] HBASE-18991 Removed RegionMergeRequest Signed-off-by: Chia-Ping Tsai --- .../regionserver/RegionMergeRequest.java | 112 ------------------ 1 file changed, 112 deletions(-) delete mode 100644 hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RegionMergeRequest.java diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RegionMergeRequest.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RegionMergeRequest.java deleted file mode 100644 index f9e93a18cb0..00000000000 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RegionMergeRequest.java +++ /dev/null @@ -1,112 +0,0 @@ -/** - * Copyright The Apache Software Foundation - * - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ -package org.apache.hadoop.hbase.regionserver; - -import java.security.PrivilegedAction; - -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; -import org.apache.hadoop.hbase.HConstants; -import org.apache.hadoop.hbase.TableName; -import org.apache.hadoop.hbase.client.RegionInfo; -import org.apache.hadoop.hbase.client.RegionInfoBuilder; -import org.apache.hadoop.hbase.regionserver.RegionServerServices.RegionStateTransitionContext; -import org.apache.hadoop.hbase.security.User; -import org.apache.yetus.audience.InterfaceAudience; - -import org.apache.hadoop.hbase.shaded.com.google.common.base.Preconditions; -import org.apache.hadoop.hbase.shaded.protobuf.generated.RegionServerStatusProtos.RegionStateTransition.TransitionCode; - -/** - * Handles processing region merges. Put in a queue, owned by HRegionServer. - */ -// TODO:UNUSED: REMOVE!!! -@InterfaceAudience.Private -class RegionMergeRequest implements Runnable { - private static final Log LOG = LogFactory.getLog(RegionMergeRequest.class); - private final RegionInfo region_a; - private final RegionInfo region_b; - private final HRegionServer server; - private final boolean forcible; - private final User user; - - RegionMergeRequest(Region a, Region b, HRegionServer hrs, boolean forcible, - long masterSystemTime, User user) { - Preconditions.checkNotNull(hrs); - this.region_a = a.getRegionInfo(); - this.region_b = b.getRegionInfo(); - this.server = hrs; - this.forcible = forcible; - this.user = user; - } - - @Override - public String toString() { - return "MergeRequest,regions:" + region_a + ", " + region_b + ", forcible=" - + forcible; - } - - private void doMerge() { - boolean success = false; - //server.metricsRegionServer.incrMergeRequest(); - - if (user != null && user.getUGI() != null) { - user.getUGI().doAs (new PrivilegedAction() { - @Override - public Void run() { - requestRegionMerge(); - return null; - } - }); - } else { - requestRegionMerge(); - } - } - - private void requestRegionMerge() { - final TableName table = region_a.getTable(); - if (!table.equals(region_b.getTable())) { - LOG.error("Can't merge regions from two different tables: " + region_a + ", " + region_b); - return; - } - - // TODO: fake merged region for compat with the report protocol - final RegionInfo merged = RegionInfoBuilder.newBuilder(table).build(); - - // Send the split request to the master. the master will do the validation on the split-key. - // The parent region will be unassigned and the two new regions will be assigned. - // hri_a and hri_b objects may not reflect the regions that will be created, those objectes - // are created just to pass the information to the reportRegionStateTransition(). - if (!server.reportRegionStateTransition(new RegionStateTransitionContext( - TransitionCode.READY_TO_MERGE, HConstants.NO_SEQNUM, -1, merged, region_a, region_b))) { - LOG.error("Unable to ask master to merge: " + region_a + ", " + region_b); - } - } - - @Override - public void run() { - if (this.server.isStopping() || this.server.isStopped()) { - LOG.debug("Skipping merge because server is stopping=" - + this.server.isStopping() + " or stopped=" + this.server.isStopped()); - return; - } - - doMerge(); - } -}