You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by zg...@apache.org on 2017/01/10 01:06:31 UTC
[3/3] hbase git commit: HBASE-17337 list replication peers request
should be routed through master
HBASE-17337 list replication peers request should be routed through master
Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/ac3b1c9a
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/ac3b1c9a
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/ac3b1c9a
Branch: refs/heads/master
Commit: ac3b1c9aa9d3ce5514afec0c2e0e34f9ac12d772
Parents: bd157ff
Author: Guanghao Zhang <zg...@apache.org>
Authored: Tue Jan 10 08:57:26 2017 +0800
Committer: Guanghao Zhang <zg...@apache.org>
Committed: Tue Jan 10 08:57:26 2017 +0800
----------------------------------------------------------------------
.../org/apache/hadoop/hbase/client/Admin.java | 31 +
.../hbase/client/ConnectionImplementation.java | 8 +
.../apache/hadoop/hbase/client/HBaseAdmin.java | 31 +
.../client/replication/ReplicationAdmin.java | 27 +-
.../replication/ReplicationSerDeHelper.java | 25 +-
.../replication/ReplicationPeerDescription.java | 59 +
.../hbase/shaded/protobuf/ProtobufUtil.java | 2 +
.../hbase/shaded/protobuf/RequestConverter.java | 9 +
.../shaded/protobuf/generated/MasterProtos.java | 142 +-
.../protobuf/generated/ReplicationProtos.java | 6002 ++++++++++++------
.../src/main/protobuf/Master.proto | 4 +
.../src/main/protobuf/Replication.proto | 17 +
.../hbase/coprocessor/MasterObserver.java | 20 +
.../org/apache/hadoop/hbase/master/HMaster.java | 16 +
.../hbase/master/MasterCoprocessorHost.java | 20 +
.../hadoop/hbase/master/MasterRpcServices.java | 19 +
.../hadoop/hbase/master/MasterServices.java | 9 +
.../master/replication/ReplicationManager.java | 18 +
.../hbase/security/access/AccessController.java | 8 +-
.../replication/TestReplicationAdmin.java | 3 +-
.../hbase/master/MockNoopMasterServices.java | 7 +
.../security/access/TestAccessController.java | 15 +
.../asciidoc/_chapters/appendix_acl_matrix.adoc | 1 +
23 files changed, 4614 insertions(+), 1879 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hbase/blob/ac3b1c9a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/Admin.java
----------------------------------------------------------------------
diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/Admin.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/Admin.java
index 2a1b782..4039fe3 100644
--- a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/Admin.java
+++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/Admin.java
@@ -20,6 +20,7 @@ package org.apache.hadoop.hbase.client;
import java.io.Closeable;
import java.io.IOException;
+import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.concurrent.Future;
@@ -48,6 +49,7 @@ import org.apache.hadoop.hbase.quotas.QuotaRetriever;
import org.apache.hadoop.hbase.quotas.QuotaSettings;
import org.apache.hadoop.hbase.regionserver.wal.FailedLogCloseException;
import org.apache.hadoop.hbase.replication.ReplicationPeerConfig;
+import org.apache.hadoop.hbase.replication.ReplicationPeerDescription;
import org.apache.hadoop.hbase.snapshot.HBaseSnapshotException;
import org.apache.hadoop.hbase.snapshot.RestoreSnapshotException;
import org.apache.hadoop.hbase.snapshot.SnapshotCreationException;
@@ -1880,6 +1882,35 @@ public interface Admin extends Abortable, Closeable {
}
/**
+ * Return a list of replication peers.
+ * @return a list of replication peers description
+ * @throws IOException
+ */
+ default List<ReplicationPeerDescription> listReplicationPeers() throws IOException {
+ return new ArrayList<>();
+ }
+
+ /**
+ * Return a list of replication peers.
+ * @param regex The regular expression to match peer id
+ * @return a list of replication peers description
+ * @throws IOException
+ */
+ default List<ReplicationPeerDescription> listReplicationPeers(String regex) throws IOException {
+ return new ArrayList<>();
+ }
+
+ /**
+ * Return a list of replication peers.
+ * @param pattern The compiled regular expression to match peer id
+ * @return a list of replication peers description
+ * @throws IOException
+ */
+ default List<ReplicationPeerDescription> listReplicationPeers(Pattern pattern) throws IOException {
+ return new ArrayList<>();
+ }
+
+ /**
* Mark a region server as draining to prevent additional regions from getting assigned to it.
* @param servers List of region servers to drain.
*/
http://git-wip-us.apache.org/repos/asf/hbase/blob/ac3b1c9a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ConnectionImplementation.java
----------------------------------------------------------------------
diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ConnectionImplementation.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ConnectionImplementation.java
index ea11c25..cfed9f6 100644
--- a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ConnectionImplementation.java
+++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ConnectionImplementation.java
@@ -102,6 +102,8 @@ import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.Enabl
import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.EnableReplicationPeerResponse;
import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.GetReplicationPeerConfigRequest;
import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.GetReplicationPeerConfigResponse;
+import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersRequest;
+import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersResponse;
import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.RemoveReplicationPeerRequest;
import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.RemoveReplicationPeerResponse;
import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.UpdateReplicationPeerConfigRequest;
@@ -1711,6 +1713,12 @@ class ConnectionImplementation implements ClusterConnection, Closeable {
throws ServiceException {
return stub.updateReplicationPeerConfig(controller, request);
}
+
+ @Override
+ public ListReplicationPeersResponse listReplicationPeers(RpcController controller,
+ ListReplicationPeersRequest request) throws ServiceException {
+ return stub.listReplicationPeers(controller, request);
+ }
};
}
http://git-wip-us.apache.org/repos/asf/hbase/blob/ac3b1c9a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java
----------------------------------------------------------------------
diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java
index 3c84929..db9cea5 100644
--- a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java
+++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java
@@ -79,6 +79,7 @@ import org.apache.hadoop.hbase.quotas.QuotaRetriever;
import org.apache.hadoop.hbase.quotas.QuotaSettings;
import org.apache.hadoop.hbase.regionserver.wal.FailedLogCloseException;
import org.apache.hadoop.hbase.replication.ReplicationPeerConfig;
+import org.apache.hadoop.hbase.replication.ReplicationPeerDescription;
import org.apache.hadoop.hbase.shaded.com.google.protobuf.ServiceException;
import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;
import org.apache.hadoop.hbase.shaded.protobuf.RequestConverter;
@@ -172,6 +173,7 @@ import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.TruncateTa
import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.TruncateTableResponse;
import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.UnassignRegionRequest;
import org.apache.hadoop.hbase.shaded.protobuf.generated.ProcedureProtos;
+import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos;
import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.GetReplicationPeerConfigResponse;
import org.apache.hadoop.hbase.snapshot.ClientSnapshotDescriptionUtils;
import org.apache.hadoop.hbase.snapshot.HBaseSnapshotException;
@@ -3833,6 +3835,35 @@ public class HBaseAdmin implements Admin {
}
@Override
+ public List<ReplicationPeerDescription> listReplicationPeers() throws IOException {
+ return listReplicationPeers((Pattern)null);
+ }
+
+ @Override
+ public List<ReplicationPeerDescription> listReplicationPeers(String regex) throws IOException {
+ return listReplicationPeers(Pattern.compile(regex));
+ }
+
+ @Override
+ public List<ReplicationPeerDescription> listReplicationPeers(Pattern pattern)
+ throws IOException {
+ return executeCallable(new MasterCallable<List<ReplicationPeerDescription>>(getConnection(),
+ getRpcControllerFactory()) {
+ @Override
+ protected List<ReplicationPeerDescription> rpcCall() throws Exception {
+ List<ReplicationProtos.ReplicationPeerDescription> peersList = master.listReplicationPeers(
+ getRpcController(), RequestConverter.buildListReplicationPeersRequest(pattern))
+ .getPeerDescList();
+ List<ReplicationPeerDescription> result = new ArrayList<>(peersList.size());
+ for (ReplicationProtos.ReplicationPeerDescription peer : peersList) {
+ result.add(ReplicationSerDeHelper.toReplicationPeerDescription(peer));
+ }
+ return result;
+ }
+ });
+ }
+
+ @Override
public void drainRegionServers(List<ServerName> servers) throws IOException {
final List<HBaseProtos.ServerName> pbServers = new ArrayList<HBaseProtos.ServerName>();
for (ServerName server : servers) {
http://git-wip-us.apache.org/repos/asf/hbase/blob/ac3b1c9a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/replication/ReplicationAdmin.java
----------------------------------------------------------------------
diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/replication/ReplicationAdmin.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/replication/ReplicationAdmin.java
index d0859a4..f9ca443 100644
--- a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/replication/ReplicationAdmin.java
+++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/replication/ReplicationAdmin.java
@@ -29,6 +29,7 @@ import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
+import java.util.TreeMap;
import java.util.Map.Entry;
import java.util.Set;
@@ -39,6 +40,7 @@ import org.apache.hadoop.hbase.Abortable;
import org.apache.hadoop.hbase.HColumnDescriptor;
import org.apache.hadoop.hbase.HConstants;
import org.apache.hadoop.hbase.HTableDescriptor;
+import org.apache.hadoop.hbase.ReplicationPeerNotFoundException;
import org.apache.hadoop.hbase.TableName;
import org.apache.hadoop.hbase.TableNotFoundException;
import org.apache.hadoop.hbase.classification.InterfaceAudience;
@@ -52,6 +54,7 @@ import org.apache.hadoop.hbase.replication.ReplicationException;
import org.apache.hadoop.hbase.replication.ReplicationFactory;
import org.apache.hadoop.hbase.replication.ReplicationPeer;
import org.apache.hadoop.hbase.replication.ReplicationPeerConfig;
+import org.apache.hadoop.hbase.replication.ReplicationPeerDescription;
import org.apache.hadoop.hbase.replication.ReplicationPeerZKImpl;
import org.apache.hadoop.hbase.replication.ReplicationPeers;
import org.apache.hadoop.hbase.replication.ReplicationQueuesClient;
@@ -238,13 +241,19 @@ public class ReplicationAdmin implements Closeable {
/**
* Get the number of slave clusters the local cluster has.
* @return number of slave clusters
+ * @throws IOException
*/
- public int getPeersCount() {
- return this.replicationPeers.getAllPeerIds().size();
+ public int getPeersCount() throws IOException {
+ return this.admin.listReplicationPeers().size();
}
- public Map<String, ReplicationPeerConfig> listPeerConfigs() {
- return this.replicationPeers.getAllPeerConfigs();
+ public Map<String, ReplicationPeerConfig> listPeerConfigs() throws IOException {
+ List<ReplicationPeerDescription> peers = this.admin.listReplicationPeers();
+ Map<String, ReplicationPeerConfig> result = new TreeMap<String, ReplicationPeerConfig>();
+ for (ReplicationPeerDescription peer : peers) {
+ result.put(peer.getPeerId(), peer.getPeerConfig());
+ }
+ return result;
}
public ReplicationPeerConfig getPeerConfig(String id) throws IOException {
@@ -402,8 +411,12 @@ public class ReplicationAdmin implements Closeable {
* an IllegalArgumentException is thrown if it doesn't exist
* @return true if replication is enabled to that peer, false if it isn't
*/
- public boolean getPeerState(String id) throws ReplicationException {
- return this.replicationPeers.getStatusOfPeerFromBackingStore(id);
+ public boolean getPeerState(String id) throws ReplicationException, IOException {
+ List<ReplicationPeerDescription> peers = admin.listReplicationPeers(id);
+ if (peers.isEmpty() || !id.equals(peers.get(0).getPeerId())) {
+ throw new ReplicationPeerNotFoundException(id);
+ }
+ return peers.get(0).isEnabled();
}
@Override
@@ -577,7 +590,7 @@ public class ReplicationAdmin implements Closeable {
}
@VisibleForTesting
- List<ReplicationPeer> listReplicationPeers() {
+ List<ReplicationPeer> listReplicationPeers() throws IOException {
Map<String, ReplicationPeerConfig> peers = listPeerConfigs();
if (peers == null || peers.size() <= 0) {
return null;
http://git-wip-us.apache.org/repos/asf/hbase/blob/ac3b1c9a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/replication/ReplicationSerDeHelper.java
----------------------------------------------------------------------
diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/replication/ReplicationSerDeHelper.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/replication/ReplicationSerDeHelper.java
index 9e04c9b..93eea17 100644
--- a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/replication/ReplicationSerDeHelper.java
+++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/replication/ReplicationSerDeHelper.java
@@ -31,6 +31,7 @@ import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;
import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos;
import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos;
import org.apache.hadoop.hbase.replication.ReplicationPeerConfig;
+import org.apache.hadoop.hbase.replication.ReplicationPeerDescription;
import org.apache.hadoop.hbase.util.Bytes;
import org.apache.hadoop.hbase.util.Strings;
@@ -293,7 +294,7 @@ public final class ReplicationSerDeHelper {
return peerConfig;
}
- public static ReplicationProtos.ReplicationPeer convert(ReplicationPeerConfig peerConfig) {
+ public static ReplicationProtos.ReplicationPeer convert(ReplicationPeerConfig peerConfig) {
ReplicationProtos.ReplicationPeer.Builder builder = ReplicationProtos.ReplicationPeer.newBuilder();
if (peerConfig.getClusterKey() != null) {
builder.setClusterkey(peerConfig.getClusterKey());
@@ -343,4 +344,26 @@ public final class ReplicationSerDeHelper {
byte[] bytes = convert(peerConfig).toByteArray();
return ProtobufUtil.prependPBMagic(bytes);
}
+
+ public static ReplicationPeerDescription toReplicationPeerDescription(
+ ReplicationProtos.ReplicationPeerDescription desc) {
+ boolean enabled = ReplicationProtos.ReplicationState.State.ENABLED == desc.getState()
+ .getState();
+ ReplicationPeerConfig config = convert(desc.getConfig());
+ return new ReplicationPeerDescription(desc.getId(), enabled, config);
+ }
+
+ public static ReplicationProtos.ReplicationPeerDescription toProtoReplicationPeerDescription(
+ ReplicationPeerDescription desc) {
+ ReplicationProtos.ReplicationPeerDescription.Builder builder = ReplicationProtos.ReplicationPeerDescription
+ .newBuilder();
+ builder.setId(desc.getPeerId());
+ ReplicationProtos.ReplicationState.Builder stateBuilder = ReplicationProtos.ReplicationState
+ .newBuilder();
+ stateBuilder.setState(desc.isEnabled() ? ReplicationProtos.ReplicationState.State.ENABLED
+ : ReplicationProtos.ReplicationState.State.DISABLED);
+ builder.setState(stateBuilder.build());
+ builder.setConfig(convert(desc.getPeerConfig()));
+ return builder.build();
+ }
}
http://git-wip-us.apache.org/repos/asf/hbase/blob/ac3b1c9a/hbase-client/src/main/java/org/apache/hadoop/hbase/replication/ReplicationPeerDescription.java
----------------------------------------------------------------------
diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/replication/ReplicationPeerDescription.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/replication/ReplicationPeerDescription.java
new file mode 100644
index 0000000..577d13a
--- /dev/null
+++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/replication/ReplicationPeerDescription.java
@@ -0,0 +1,59 @@
+/**
+ * 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.replication;
+
+import org.apache.hadoop.hbase.classification.InterfaceAudience;
+import org.apache.hadoop.hbase.classification.InterfaceStability;
+
+/**
+ * The POJO equivalent of ReplicationProtos.ReplicationPeerDescription
+ */
+@InterfaceAudience.Public
+@InterfaceStability.Evolving
+public class ReplicationPeerDescription {
+
+ private final String id;
+ private final boolean enabled;
+ private final ReplicationPeerConfig config;
+
+ public ReplicationPeerDescription(String id, boolean enabled, ReplicationPeerConfig config) {
+ this.id = id;
+ this.enabled = enabled;
+ this.config = config;
+ }
+
+ public String getPeerId() {
+ return this.id;
+ }
+
+ public boolean isEnabled() {
+ return this.enabled;
+ }
+
+ public ReplicationPeerConfig getPeerConfig() {
+ return this.config;
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder builder = new StringBuilder("id : ").append(id);
+ builder.append(", enabled : " + enabled);
+ builder.append(", config : " + config);
+ return builder.toString();
+ }
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/hbase/blob/ac3b1c9a/hbase-client/src/main/java/org/apache/hadoop/hbase/shaded/protobuf/ProtobufUtil.java
----------------------------------------------------------------------
diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/shaded/protobuf/ProtobufUtil.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/shaded/protobuf/ProtobufUtil.java
index 285e19a..585a5f8 100644
--- a/hbase-client/src/main/java/org/apache/hadoop/hbase/shaded/protobuf/ProtobufUtil.java
+++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/shaded/protobuf/ProtobufUtil.java
@@ -91,6 +91,7 @@ import org.apache.hadoop.hbase.quotas.QuotaType;
import org.apache.hadoop.hbase.quotas.ThrottleType;
import org.apache.hadoop.hbase.replication.ReplicationLoadSink;
import org.apache.hadoop.hbase.replication.ReplicationLoadSource;
+import org.apache.hadoop.hbase.replication.ReplicationPeerDescription;
import org.apache.hadoop.hbase.security.User;
import org.apache.hadoop.hbase.security.visibility.Authorizations;
import org.apache.hadoop.hbase.security.visibility.CellVisibility;
@@ -158,6 +159,7 @@ import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableDe
import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos;
import org.apache.hadoop.hbase.shaded.protobuf.generated.RegionServerStatusProtos.RegionServerReportRequest;
import org.apache.hadoop.hbase.shaded.protobuf.generated.RegionServerStatusProtos.RegionServerStartupRequest;
+import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos;
import org.apache.hadoop.hbase.shaded.protobuf.generated.WALProtos;
import org.apache.hadoop.hbase.shaded.protobuf.generated.WALProtos.BulkLoadDescriptor;
import org.apache.hadoop.hbase.shaded.protobuf.generated.WALProtos.CompactionDescriptor;
http://git-wip-us.apache.org/repos/asf/hbase/blob/ac3b1c9a/hbase-client/src/main/java/org/apache/hadoop/hbase/shaded/protobuf/RequestConverter.java
----------------------------------------------------------------------
diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/shaded/protobuf/RequestConverter.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/shaded/protobuf/RequestConverter.java
index 4231a82..4acb525 100644
--- a/hbase-client/src/main/java/org/apache/hadoop/hbase/shaded/protobuf/RequestConverter.java
+++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/shaded/protobuf/RequestConverter.java
@@ -116,6 +116,7 @@ import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.AddRe
import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.DisableReplicationPeerRequest;
import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.EnableReplicationPeerRequest;
import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.GetReplicationPeerConfigRequest;
+import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersRequest;
import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.RemoveReplicationPeerRequest;
import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.UpdateReplicationPeerConfigRequest;
import org.apache.hadoop.hbase.util.Bytes;
@@ -1613,4 +1614,12 @@ public final class RequestConverter {
builder.setPeerConfig(ReplicationSerDeHelper.convert(peerConfig));
return builder.build();
}
+
+ public static ListReplicationPeersRequest buildListReplicationPeersRequest(Pattern pattern) {
+ ListReplicationPeersRequest.Builder builder = ListReplicationPeersRequest.newBuilder();
+ if (pattern != null) {
+ builder.setRegex(pattern.toString());
+ }
+ return builder.build();
+ }
}
http://git-wip-us.apache.org/repos/asf/hbase/blob/ac3b1c9a/hbase-protocol-shaded/src/main/java/org/apache/hadoop/hbase/shaded/protobuf/generated/MasterProtos.java
----------------------------------------------------------------------
diff --git a/hbase-protocol-shaded/src/main/java/org/apache/hadoop/hbase/shaded/protobuf/generated/MasterProtos.java b/hbase-protocol-shaded/src/main/java/org/apache/hadoop/hbase/shaded/protobuf/generated/MasterProtos.java
index d56c534..8f293f3 100644
--- a/hbase-protocol-shaded/src/main/java/org/apache/hadoop/hbase/shaded/protobuf/generated/MasterProtos.java
+++ b/hbase-protocol-shaded/src/main/java/org/apache/hadoop/hbase/shaded/protobuf/generated/MasterProtos.java
@@ -69799,6 +69799,18 @@ public final class MasterProtos {
/**
* <pre>
+ ** Returns a list of replication peers
+ * </pre>
+ *
+ * <code>rpc ListReplicationPeers(.hbase.pb.ListReplicationPeersRequest) returns (.hbase.pb.ListReplicationPeersResponse);</code>
+ */
+ public abstract void listReplicationPeers(
+ org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcController controller,
+ org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersRequest request,
+ org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcCallback<org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersResponse> done);
+
+ /**
+ * <pre>
** Returns a list of ServerNames marked as draining.
* </pre>
*
@@ -70351,6 +70363,14 @@ public final class MasterProtos {
}
@java.lang.Override
+ public void listReplicationPeers(
+ org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcController controller,
+ org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersRequest request,
+ org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcCallback<org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersResponse> done) {
+ impl.listReplicationPeers(controller, request, done);
+ }
+
+ @java.lang.Override
public void listDrainingRegionServers(
org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcController controller,
org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListDrainingRegionServersRequest request,
@@ -70525,10 +70545,12 @@ public final class MasterProtos {
case 63:
return impl.updateReplicationPeerConfig(controller, (org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.UpdateReplicationPeerConfigRequest)request);
case 64:
- return impl.listDrainingRegionServers(controller, (org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListDrainingRegionServersRequest)request);
+ return impl.listReplicationPeers(controller, (org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersRequest)request);
case 65:
- return impl.drainRegionServers(controller, (org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DrainRegionServersRequest)request);
+ return impl.listDrainingRegionServers(controller, (org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListDrainingRegionServersRequest)request);
case 66:
+ return impl.drainRegionServers(controller, (org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DrainRegionServersRequest)request);
+ case 67:
return impl.removeDrainFromRegionServers(controller, (org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RemoveDrainFromRegionServersRequest)request);
default:
throw new java.lang.AssertionError("Can't get here.");
@@ -70673,10 +70695,12 @@ public final class MasterProtos {
case 63:
return org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.UpdateReplicationPeerConfigRequest.getDefaultInstance();
case 64:
- return org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListDrainingRegionServersRequest.getDefaultInstance();
+ return org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersRequest.getDefaultInstance();
case 65:
- return org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DrainRegionServersRequest.getDefaultInstance();
+ return org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListDrainingRegionServersRequest.getDefaultInstance();
case 66:
+ return org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DrainRegionServersRequest.getDefaultInstance();
+ case 67:
return org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RemoveDrainFromRegionServersRequest.getDefaultInstance();
default:
throw new java.lang.AssertionError("Can't get here.");
@@ -70821,10 +70845,12 @@ public final class MasterProtos {
case 63:
return org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.UpdateReplicationPeerConfigResponse.getDefaultInstance();
case 64:
- return org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListDrainingRegionServersResponse.getDefaultInstance();
+ return org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersResponse.getDefaultInstance();
case 65:
- return org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DrainRegionServersResponse.getDefaultInstance();
+ return org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListDrainingRegionServersResponse.getDefaultInstance();
case 66:
+ return org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DrainRegionServersResponse.getDefaultInstance();
+ case 67:
return org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RemoveDrainFromRegionServersResponse.getDefaultInstance();
default:
throw new java.lang.AssertionError("Can't get here.");
@@ -71633,6 +71659,18 @@ public final class MasterProtos {
/**
* <pre>
+ ** Returns a list of replication peers
+ * </pre>
+ *
+ * <code>rpc ListReplicationPeers(.hbase.pb.ListReplicationPeersRequest) returns (.hbase.pb.ListReplicationPeersResponse);</code>
+ */
+ public abstract void listReplicationPeers(
+ org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcController controller,
+ org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersRequest request,
+ org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcCallback<org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersResponse> done);
+
+ /**
+ * <pre>
** Returns a list of ServerNames marked as draining.
* </pre>
*
@@ -72010,16 +72048,21 @@ public final class MasterProtos {
done));
return;
case 64:
+ this.listReplicationPeers(controller, (org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersRequest)request,
+ org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcUtil.<org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersResponse>specializeCallback(
+ done));
+ return;
+ case 65:
this.listDrainingRegionServers(controller, (org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListDrainingRegionServersRequest)request,
org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcUtil.<org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListDrainingRegionServersResponse>specializeCallback(
done));
return;
- case 65:
+ case 66:
this.drainRegionServers(controller, (org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DrainRegionServersRequest)request,
org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcUtil.<org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DrainRegionServersResponse>specializeCallback(
done));
return;
- case 66:
+ case 67:
this.removeDrainFromRegionServers(controller, (org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RemoveDrainFromRegionServersRequest)request,
org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcUtil.<org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RemoveDrainFromRegionServersResponse>specializeCallback(
done));
@@ -72167,10 +72210,12 @@ public final class MasterProtos {
case 63:
return org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.UpdateReplicationPeerConfigRequest.getDefaultInstance();
case 64:
- return org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListDrainingRegionServersRequest.getDefaultInstance();
+ return org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersRequest.getDefaultInstance();
case 65:
- return org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DrainRegionServersRequest.getDefaultInstance();
+ return org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListDrainingRegionServersRequest.getDefaultInstance();
case 66:
+ return org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DrainRegionServersRequest.getDefaultInstance();
+ case 67:
return org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RemoveDrainFromRegionServersRequest.getDefaultInstance();
default:
throw new java.lang.AssertionError("Can't get here.");
@@ -72315,10 +72360,12 @@ public final class MasterProtos {
case 63:
return org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.UpdateReplicationPeerConfigResponse.getDefaultInstance();
case 64:
- return org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListDrainingRegionServersResponse.getDefaultInstance();
+ return org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersResponse.getDefaultInstance();
case 65:
- return org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DrainRegionServersResponse.getDefaultInstance();
+ return org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListDrainingRegionServersResponse.getDefaultInstance();
case 66:
+ return org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DrainRegionServersResponse.getDefaultInstance();
+ case 67:
return org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RemoveDrainFromRegionServersResponse.getDefaultInstance();
default:
throw new java.lang.AssertionError("Can't get here.");
@@ -73301,12 +73348,27 @@ public final class MasterProtos {
org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.UpdateReplicationPeerConfigResponse.getDefaultInstance()));
}
+ public void listReplicationPeers(
+ org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcController controller,
+ org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersRequest request,
+ org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcCallback<org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersResponse> done) {
+ channel.callMethod(
+ getDescriptor().getMethods().get(64),
+ controller,
+ request,
+ org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersResponse.getDefaultInstance(),
+ org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcUtil.generalizeCallback(
+ done,
+ org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersResponse.class,
+ org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersResponse.getDefaultInstance()));
+ }
+
public void listDrainingRegionServers(
org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcController controller,
org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListDrainingRegionServersRequest request,
org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcCallback<org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListDrainingRegionServersResponse> done) {
channel.callMethod(
- getDescriptor().getMethods().get(64),
+ getDescriptor().getMethods().get(65),
controller,
request,
org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListDrainingRegionServersResponse.getDefaultInstance(),
@@ -73321,7 +73383,7 @@ public final class MasterProtos {
org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DrainRegionServersRequest request,
org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcCallback<org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DrainRegionServersResponse> done) {
channel.callMethod(
- getDescriptor().getMethods().get(65),
+ getDescriptor().getMethods().get(66),
controller,
request,
org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DrainRegionServersResponse.getDefaultInstance(),
@@ -73336,7 +73398,7 @@ public final class MasterProtos {
org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RemoveDrainFromRegionServersRequest request,
org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcCallback<org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RemoveDrainFromRegionServersResponse> done) {
channel.callMethod(
- getDescriptor().getMethods().get(66),
+ getDescriptor().getMethods().get(67),
controller,
request,
org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RemoveDrainFromRegionServersResponse.getDefaultInstance(),
@@ -73673,6 +73735,11 @@ public final class MasterProtos {
org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.UpdateReplicationPeerConfigRequest request)
throws org.apache.hadoop.hbase.shaded.com.google.protobuf.ServiceException;
+ public org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersResponse listReplicationPeers(
+ org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcController controller,
+ org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersRequest request)
+ throws org.apache.hadoop.hbase.shaded.com.google.protobuf.ServiceException;
+
public org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListDrainingRegionServersResponse listDrainingRegionServers(
org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcController controller,
org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListDrainingRegionServersRequest request)
@@ -74464,12 +74531,24 @@ public final class MasterProtos {
}
+ public org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersResponse listReplicationPeers(
+ org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcController controller,
+ org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersRequest request)
+ throws org.apache.hadoop.hbase.shaded.com.google.protobuf.ServiceException {
+ return (org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersResponse) channel.callBlockingMethod(
+ getDescriptor().getMethods().get(64),
+ controller,
+ request,
+ org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersResponse.getDefaultInstance());
+ }
+
+
public org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListDrainingRegionServersResponse listDrainingRegionServers(
org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcController controller,
org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListDrainingRegionServersRequest request)
throws org.apache.hadoop.hbase.shaded.com.google.protobuf.ServiceException {
return (org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListDrainingRegionServersResponse) channel.callBlockingMethod(
- getDescriptor().getMethods().get(64),
+ getDescriptor().getMethods().get(65),
controller,
request,
org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListDrainingRegionServersResponse.getDefaultInstance());
@@ -74481,7 +74560,7 @@ public final class MasterProtos {
org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DrainRegionServersRequest request)
throws org.apache.hadoop.hbase.shaded.com.google.protobuf.ServiceException {
return (org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DrainRegionServersResponse) channel.callBlockingMethod(
- getDescriptor().getMethods().get(65),
+ getDescriptor().getMethods().get(66),
controller,
request,
org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DrainRegionServersResponse.getDefaultInstance());
@@ -74493,7 +74572,7 @@ public final class MasterProtos {
org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RemoveDrainFromRegionServersRequest request)
throws org.apache.hadoop.hbase.shaded.com.google.protobuf.ServiceException {
return (org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RemoveDrainFromRegionServersResponse) channel.callBlockingMethod(
- getDescriptor().getMethods().get(66),
+ getDescriptor().getMethods().get(67),
controller,
request,
org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RemoveDrainFromRegionServersResponse.getDefaultInstance());
@@ -75319,7 +75398,7 @@ public final class MasterProtos {
"\022)\n\013server_name\030\001 \003(\0132\024.hbase.pb.ServerN" +
"ame\"&\n$RemoveDrainFromRegionServersRespo",
"nse*(\n\020MasterSwitchType\022\t\n\005SPLIT\020\000\022\t\n\005ME" +
- "RGE\020\0012\2301\n\rMasterService\022e\n\024GetSchemaAlte" +
+ "RGE\020\0012\3771\n\rMasterService\022e\n\024GetSchemaAlte" +
"rStatus\022%.hbase.pb.GetSchemaAlterStatusR" +
"equest\032&.hbase.pb.GetSchemaAlterStatusRe" +
"sponse\022b\n\023GetTableDescriptors\022$.hbase.pb" +
@@ -75468,17 +75547,20 @@ public final class MasterProtos {
"\n\033UpdateReplicationPeerConfig\022,.hbase.pb" +
".UpdateReplicationPeerConfigRequest\032-.hb" +
"ase.pb.UpdateReplicationPeerConfigRespon",
- "se\022t\n\031listDrainingRegionServers\022*.hbase." +
- "pb.ListDrainingRegionServersRequest\032+.hb" +
- "ase.pb.ListDrainingRegionServersResponse" +
- "\022_\n\022drainRegionServers\022#.hbase.pb.DrainR" +
- "egionServersRequest\032$.hbase.pb.DrainRegi" +
- "onServersResponse\022}\n\034removeDrainFromRegi" +
- "onServers\022-.hbase.pb.RemoveDrainFromRegi" +
- "onServersRequest\032..hbase.pb.RemoveDrainF" +
- "romRegionServersResponseBI\n1org.apache.h" +
- "adoop.hbase.shaded.protobuf.generatedB\014M",
- "asterProtosH\001\210\001\001\240\001\001"
+ "se\022e\n\024ListReplicationPeers\022%.hbase.pb.Li" +
+ "stReplicationPeersRequest\032&.hbase.pb.Lis" +
+ "tReplicationPeersResponse\022t\n\031listDrainin" +
+ "gRegionServers\022*.hbase.pb.ListDrainingRe" +
+ "gionServersRequest\032+.hbase.pb.ListDraini" +
+ "ngRegionServersResponse\022_\n\022drainRegionSe" +
+ "rvers\022#.hbase.pb.DrainRegionServersReque" +
+ "st\032$.hbase.pb.DrainRegionServersResponse" +
+ "\022}\n\034removeDrainFromRegionServers\022-.hbase" +
+ ".pb.RemoveDrainFromRegionServersRequest\032",
+ "..hbase.pb.RemoveDrainFromRegionServersR" +
+ "esponseBI\n1org.apache.hadoop.hbase.shade" +
+ "d.protobuf.generatedB\014MasterProtosH\001\210\001\001\240" +
+ "\001\001"
};
org.apache.hadoop.hbase.shaded.com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner =
new org.apache.hadoop.hbase.shaded.com.google.protobuf.Descriptors.FileDescriptor. InternalDescriptorAssigner() {