HBASE-15631 Backport Regionserver Groups (HBASE-6721) to branch-1 Applied https://issues.apache.org/jira/secure/attachment/12799888/HBASE-15631.02.branch-1.patch Amending-Author: Andrew Purtell <apurt...@apache.org>
Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/52f05079 Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/52f05079 Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/52f05079 Branch: refs/heads/HBASE-15631-branch-1 Commit: 52f05079f28a0b2e5a2a8944f6bbda95d65b9314 Parents: 6f1cc2c Author: Andrew Purtell <apurt...@apache.org> Authored: Wed Jul 5 13:39:35 2017 -0700 Committer: Andrew Purtell <apurt...@apache.org> Committed: Thu Jul 20 17:55:42 2017 -0700 ---------------------------------------------------------------------- .../org/apache/hadoop/hbase/ServerName.java | 19 +- .../hadoop/hbase/protobuf/ProtobufUtil.java | 36 +- .../hadoop/hbase/rsgroup/RSGroupInfo.java | 187 + hbase-it/pom.xml | 10 + .../hbase/rsgroup/IntegrationTestRSGroup.java | 99 + hbase-protocol/pom.xml | 2 + .../hbase/protobuf/generated/ClientProtos.java | 2 +- .../hbase/protobuf/generated/MasterProtos.java | 30 +- .../protobuf/generated/RSGroupAdminProtos.java | 11855 +++++++++++++++++ .../hbase/protobuf/generated/RSGroupProtos.java | 1331 ++ .../protobuf/generated/SnapshotProtos.java | 24 +- hbase-protocol/src/main/protobuf/RSGroup.proto | 34 + .../src/main/protobuf/RSGroupAdmin.proto | 136 + hbase-rsgroup/pom.xml | 278 + .../hadoop/hbase/rsgroup/RSGroupAdmin.java | 121 + .../hbase/rsgroup/RSGroupAdminClient.java | 204 + .../hbase/rsgroup/RSGroupAdminEndpoint.java | 955 ++ .../hbase/rsgroup/RSGroupAdminServer.java | 503 + .../hbase/rsgroup/RSGroupBasedLoadBalancer.java | 428 + .../hbase/rsgroup/RSGroupInfoManager.java | 132 + .../hbase/rsgroup/RSGroupInfoManagerImpl.java | 758 ++ .../hadoop/hbase/rsgroup/RSGroupSerDe.java | 88 + .../hbase/rsgroup/RSGroupableBalancer.java | 29 + .../balancer/TestRSGroupBasedLoadBalancer.java | 574 + .../hadoop/hbase/rsgroup/TestRSGroups.java | 287 + .../hadoop/hbase/rsgroup/TestRSGroupsBase.java | 643 + .../hbase/rsgroup/TestRSGroupsOfflineMode.java | 187 + .../rsgroup/VerifyingRSGroupAdminClient.java | 149 + .../hbase/tmpl/master/MasterStatusTmpl.jamon | 2 + .../apache/hadoop/hbase/LocalHBaseCluster.java | 3 + .../BaseMasterAndRegionObserver.java | 53 + .../hbase/coprocessor/BaseMasterObserver.java | 54 + .../hbase/coprocessor/MasterObserver.java | 98 + .../hadoop/hbase/master/AssignmentManager.java | 16 +- .../org/apache/hadoop/hbase/master/HMaster.java | 40 +- .../hadoop/hbase/master/LoadBalancer.java | 3 + .../hbase/master/MasterCoprocessorHost.java | 137 + .../hadoop/hbase/master/MasterRpcServices.java | 8 + .../hadoop/hbase/master/MasterServices.java | 5 + .../hbase/security/access/AccessController.java | 32 + .../hbase/coprocessor/TestMasterObserver.java | 52 + .../hbase/master/MockNoopMasterServices.java | 5 + .../master/TestAssignmentManagerOnCluster.java | 127 +- .../hadoop/hbase/master/TestCatalogJanitor.java | 3 + .../hbase/master/TestMasterStatusServlet.java | 12 +- .../normalizer/TestSimpleRegionNormalizer.java | 2 +- .../security/access/TestAccessController.java | 75 + hbase-shell/pom.xml | 35 + hbase-shell/src/main/ruby/hbase.rb | 1 + hbase-shell/src/main/ruby/hbase/hbase.rb | 4 + .../src/main/ruby/hbase/rsgroup_admin.rb | 150 + hbase-shell/src/main/ruby/shell.rb | 21 + hbase-shell/src/main/ruby/shell/commands.rb | 4 + .../src/main/ruby/shell/commands/add_rsgroup.rb | 39 + .../main/ruby/shell/commands/balance_rsgroup.rb | 37 + .../src/main/ruby/shell/commands/get_rsgroup.rb | 44 + .../ruby/shell/commands/get_server_rsgroup.rb | 40 + .../ruby/shell/commands/get_table_rsgroup.rb | 41 + .../main/ruby/shell/commands/list_rsgroups.rb | 50 + .../ruby/shell/commands/move_rsgroup_servers.rb | 37 + .../ruby/shell/commands/move_rsgroup_tables.rb | 37 + .../main/ruby/shell/commands/remove_rsgroup.rb | 37 + .../apache/hadoop/hbase/client/TestShell.java | 2 +- .../hbase/client/rsgroup/TestShellRSGroups.java | 111 + .../src/test/ruby/shell/rsgroup_shell_test.rb | 96 + hbase-shell/src/test/ruby/test_helper.rb | 4 + pom.xml | 23 + 67 files changed, 20585 insertions(+), 56 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hbase/blob/52f05079/hbase-client/src/main/java/org/apache/hadoop/hbase/ServerName.java ---------------------------------------------------------------------- diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/ServerName.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/ServerName.java index c90e7e1..c44b7c7 100644 --- a/hbase-client/src/main/java/org/apache/hadoop/hbase/ServerName.java +++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/ServerName.java @@ -29,6 +29,10 @@ import org.apache.hadoop.hbase.protobuf.generated.ZooKeeperProtos; import org.apache.hadoop.hbase.util.Addressing; import org.apache.hadoop.hbase.util.Bytes; +import com.google.common.net.HostAndPort; +import com.google.common.net.InetAddresses; +import com.google.protobuf.InvalidProtocolBufferException; + import java.io.Serializable; import java.util.ArrayList; import java.util.List; @@ -92,6 +96,7 @@ public class ServerName implements Comparable<ServerName>, Serializable { private final String hostnameOnly; private final int port; private final long startcode; + private transient HostAndPort hostAndPort; /** * Cached versioned bytes of this ServerName instance. @@ -106,7 +111,7 @@ public class ServerName implements Comparable<ServerName>, Serializable { this.hostnameOnly = hostname; this.port = port; this.startcode = startcode; - this.servername = getServerName(this.hostnameOnly, port, startcode); + this.servername = getServerName(hostname, port, startcode); } /** @@ -190,7 +195,8 @@ public class ServerName implements Comparable<ServerName>, Serializable { * in compares, etc. */ public String toShortString() { - return Addressing.createHostAndPortStr(getHostNameMinusDomain(this.hostnameOnly), this.port); + return Addressing.createHostAndPortStr( + getHostNameMinusDomain(hostnameOnly), port); } /** @@ -257,7 +263,14 @@ public class ServerName implements Comparable<ServerName>, Serializable { * {@link Addressing#createHostAndPortStr(String, int)} */ public String getHostAndPort() { - return Addressing.createHostAndPortStr(this.hostnameOnly, this.port); + return Addressing.createHostAndPortStr(hostnameOnly, port); + } + + public HostAndPort getHostPort() { + if (hostAndPort == null) { + hostAndPort = HostAndPort.fromParts(hostnameOnly, port); + } + return hostAndPort; } /** http://git-wip-us.apache.org/repos/asf/hbase/blob/52f05079/hbase-client/src/main/java/org/apache/hadoop/hbase/protobuf/ProtobufUtil.java ---------------------------------------------------------------------- diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/protobuf/ProtobufUtil.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/protobuf/ProtobufUtil.java index b704f4a..4022760 100644 --- a/hbase-client/src/main/java/org/apache/hadoop/hbase/protobuf/ProtobufUtil.java +++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/protobuf/ProtobufUtil.java @@ -19,11 +19,11 @@ package org.apache.hadoop.hbase.protobuf; import static com.google.protobuf.HBaseZeroCopyByteString.zeroCopyGetBytes; -import static org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.RegionSpecifier.RegionSpecifierType.REGION_NAME; import com.google.common.collect.ArrayListMultimap; import com.google.common.collect.ListMultimap; import com.google.common.collect.Lists; +import com.google.common.net.HostAndPort; import com.google.protobuf.ByteString; import com.google.protobuf.CodedInputStream; import com.google.protobuf.InvalidProtocolBufferException; @@ -143,6 +143,7 @@ import org.apache.hadoop.hbase.protobuf.generated.MasterProtos.CreateTableReques import org.apache.hadoop.hbase.protobuf.generated.MasterProtos.GetTableDescriptorsResponse; import org.apache.hadoop.hbase.protobuf.generated.MasterProtos.MasterService; import org.apache.hadoop.hbase.protobuf.generated.QuotaProtos; +import org.apache.hadoop.hbase.protobuf.generated.RSGroupProtos; import org.apache.hadoop.hbase.protobuf.generated.RegionServerStatusProtos.RegionServerReportRequest; import org.apache.hadoop.hbase.protobuf.generated.RegionServerStatusProtos.RegionServerStartupRequest; import org.apache.hadoop.hbase.protobuf.generated.WALProtos; @@ -158,6 +159,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.rsgroup.RSGroupInfo; import org.apache.hadoop.hbase.security.User; import org.apache.hadoop.hbase.security.access.Permission; import org.apache.hadoop.hbase.security.access.TablePermission; @@ -176,6 +178,9 @@ import org.apache.hadoop.io.Text; import org.apache.hadoop.ipc.RemoteException; import org.apache.hadoop.security.token.Token; +import static org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.RegionSpecifier + .RegionSpecifierType.REGION_NAME; + /** * Protobufs utility. */ @@ -3525,4 +3530,33 @@ public final class ProtobufUtil { return new TimeRange(minStamp, maxStamp); } + public static RSGroupInfo toGroupInfo(RSGroupProtos.RSGroupInfo proto) { + RSGroupInfo RSGroupInfo = new RSGroupInfo(proto.getName()); + for(HBaseProtos.ServerName el: proto.getServersList()) { + RSGroupInfo.addServer(HostAndPort.fromParts(el.getHostName(), el.getPort())); + } + for(HBaseProtos.TableName pTableName: proto.getTablesList()) { + RSGroupInfo.addTable(ProtobufUtil.toTableName(pTableName)); + } + return RSGroupInfo; + } + + public static RSGroupProtos.RSGroupInfo toProtoGroupInfo(RSGroupInfo pojo) { + List<HBaseProtos.TableName> tables = + new ArrayList<HBaseProtos.TableName>(pojo.getTables().size()); + for(TableName arg: pojo.getTables()) { + tables.add(ProtobufUtil.toProtoTableName(arg)); + } + List<HBaseProtos.ServerName> hostports = + new ArrayList<HBaseProtos.ServerName>(pojo.getServers().size()); + for(HostAndPort el: pojo.getServers()) { + hostports.add(HBaseProtos.ServerName.newBuilder() + .setHostName(el.getHostText()) + .setPort(el.getPort()) + .build()); + } + return RSGroupProtos.RSGroupInfo.newBuilder().setName(pojo.getName()) + .addAllServers(hostports) + .addAllTables(tables).build(); + } } http://git-wip-us.apache.org/repos/asf/hbase/blob/52f05079/hbase-common/src/main/java/org/apache/hadoop/hbase/rsgroup/RSGroupInfo.java ---------------------------------------------------------------------- diff --git a/hbase-common/src/main/java/org/apache/hadoop/hbase/rsgroup/RSGroupInfo.java b/hbase-common/src/main/java/org/apache/hadoop/hbase/rsgroup/RSGroupInfo.java new file mode 100644 index 0000000..0fb02d8 --- /dev/null +++ b/hbase-common/src/main/java/org/apache/hadoop/hbase/rsgroup/RSGroupInfo.java @@ -0,0 +1,187 @@ +/** + * 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.rsgroup; + +import com.google.common.collect.Sets; +import com.google.common.net.HostAndPort; + +import java.util.Collection; +import java.util.NavigableSet; +import java.util.Set; + +import org.apache.hadoop.hbase.TableName; +import org.apache.hadoop.hbase.classification.InterfaceAudience; +import org.apache.hadoop.hbase.classification.InterfaceStability; + +/** + * Stores the group information of region server groups. + */ +@InterfaceAudience.Public +@InterfaceStability.Evolving +public class RSGroupInfo { + + public static final String DEFAULT_GROUP = "default"; + public static final String NAMESPACEDESC_PROP_GROUP = "hbase.rsgroup.name"; + + private String name; + private Set<HostAndPort> servers; + private NavigableSet<TableName> tables; + + public RSGroupInfo(String name) { + this(name, Sets.<HostAndPort>newHashSet(), Sets.<TableName>newTreeSet()); + } + + RSGroupInfo(String name, + Set<HostAndPort> servers, + NavigableSet<TableName> tables) { + this.name = name; + this.servers = servers; + this.tables = tables; + } + + public RSGroupInfo(RSGroupInfo src) { + name = src.getName(); + servers = Sets.newHashSet(src.getServers()); + tables = Sets.newTreeSet(src.getTables()); + } + + /** + * Get group name. + * + * @return group name + */ + public String getName() { + return name; + } + + /** + * Adds the server to the group. + * + * @param hostPort the server + */ + public void addServer(HostAndPort hostPort){ + servers.add(hostPort); + } + + /** + * Adds a group of servers. + * + * @param hostPort the servers + */ + public void addAllServers(Collection<HostAndPort> hostPort){ + servers.addAll(hostPort); + } + + /** + * @param hostPort hostPort of the server + * @return true, if a server with hostPort is found + */ + public boolean containsServer(HostAndPort hostPort) { + return servers.contains(hostPort); + } + + /** + * Get list of servers. + * + * @return set of servers + */ + public Set<HostAndPort> getServers() { + return servers; + } + + /** + * Remove a server from this group. + * + * @param hostPort HostPort of the server to remove + */ + public boolean removeServer(HostAndPort hostPort) { + return servers.remove(hostPort); + } + + /** + * Set of tables that are members of this group + * @return set of tables + */ + public NavigableSet<TableName> getTables() { + return tables; + } + + public void addTable(TableName table) { + tables.add(table); + } + + public void addAllTables(Collection<TableName> arg) { + tables.addAll(arg); + } + + public boolean containsTable(TableName table) { + return tables.contains(table); + } + + public boolean removeTable(TableName table) { + return tables.remove(table); + } + + @Override + public String toString() { + StringBuffer sb = new StringBuffer(); + sb.append("Name:"); + sb.append(this.name); + sb.append(", "); + sb.append(" Servers:"); + sb.append(this.servers); + return sb.toString(); + + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + + RSGroupInfo RSGroupInfo = (RSGroupInfo) o; + + if (!name.equals(RSGroupInfo.name)) { + return false; + } + if (!servers.equals(RSGroupInfo.servers)) { + return false; + } + if (!tables.equals(RSGroupInfo.tables)) { + return false; + } + + return true; + } + + @Override + public int hashCode() { + int result = servers.hashCode(); + result = 31 * result + tables.hashCode(); + result = 31 * result + name.hashCode(); + return result; + } + +} http://git-wip-us.apache.org/repos/asf/hbase/blob/52f05079/hbase-it/pom.xml ---------------------------------------------------------------------- diff --git a/hbase-it/pom.xml b/hbase-it/pom.xml index 715bcac..b65cf28 100644 --- a/hbase-it/pom.xml +++ b/hbase-it/pom.xml @@ -207,6 +207,16 @@ </dependency> <dependency> <groupId>org.apache.hbase</groupId> + <artifactId>hbase-rsgroup</artifactId> + </dependency> + <dependency> + <groupId>org.apache.hbase</groupId> + <artifactId>hbase-rsgroup</artifactId> + <type>test-jar</type> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.apache.hbase</groupId> <artifactId>hbase-server</artifactId> </dependency> <dependency> http://git-wip-us.apache.org/repos/asf/hbase/blob/52f05079/hbase-it/src/test/java/org/apache/hadoop/hbase/rsgroup/IntegrationTestRSGroup.java ---------------------------------------------------------------------- diff --git a/hbase-it/src/test/java/org/apache/hadoop/hbase/rsgroup/IntegrationTestRSGroup.java b/hbase-it/src/test/java/org/apache/hadoop/hbase/rsgroup/IntegrationTestRSGroup.java new file mode 100644 index 0000000..fe9c58c2 --- /dev/null +++ b/hbase-it/src/test/java/org/apache/hadoop/hbase/rsgroup/IntegrationTestRSGroup.java @@ -0,0 +1,99 @@ +/** + * 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.rsgroup; + +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.apache.hadoop.hbase.IntegrationTestingUtility; +import org.apache.hadoop.hbase.Waiter; +import org.apache.hadoop.hbase.testclassification.IntegrationTests; +import org.junit.After; +import org.junit.Before; +import org.junit.experimental.categories.Category; + +/** + * Runs all of the units tests defined in TestGroupBase + * as an integration test. + * Requires TestRSGroupBase.NUM_SLAVE_BASE servers to run. + */ +@Category(IntegrationTests.class) +public class IntegrationTestRSGroup extends TestRSGroupsBase { + //Integration specific + private final static Log LOG = LogFactory.getLog(IntegrationTestRSGroup.class); + private static boolean initialized = false; + + @Before + public void beforeMethod() throws Exception { + if(!initialized) { + LOG.info("Setting up IntegrationTestGroup"); + LOG.info("Initializing cluster with " + NUM_SLAVES_BASE + " servers"); + TEST_UTIL = new IntegrationTestingUtility(); + ((IntegrationTestingUtility)TEST_UTIL).initializeCluster(NUM_SLAVES_BASE); + //set shared configs + admin = TEST_UTIL.getHBaseAdmin(); + cluster = TEST_UTIL.getHBaseClusterInterface(); + rsGroupAdmin = new VerifyingRSGroupAdminClient(rsGroupAdmin.newClient(TEST_UTIL.getConnection()), + TEST_UTIL.getConfiguration()); + LOG.info("Done initializing cluster"); + initialized = true; + //cluster may not be clean + //cleanup when initializing + afterMethod(); + } + } + + @After + public void afterMethod() throws Exception { + LOG.info("Cleaning up previous test run"); + //cleanup previous artifacts + deleteTableIfNecessary(); + deleteNamespaceIfNecessary(); + deleteGroups(); + admin.setBalancerRunning(true, true); + + LOG.info("Restoring the cluster"); + ((IntegrationTestingUtility)TEST_UTIL).restoreCluster(); + LOG.info("Done restoring the cluster"); + + TEST_UTIL.waitFor(WAIT_TIMEOUT, new Waiter.Predicate<Exception>() { + @Override + public boolean evaluate() throws Exception { + LOG.info("Waiting for cleanup to finish "+ rsGroupAdmin.listRSGroups()); + //Might be greater since moving servers back to default + //is after starting a server + return rsGroupAdmin.getRSGroupInfo(RSGroupInfo.DEFAULT_GROUP).getServers().size() + >= NUM_SLAVES_BASE; + } + }); + + TEST_UTIL.waitFor(WAIT_TIMEOUT, new Waiter.Predicate<Exception>() { + @Override + public boolean evaluate() throws Exception { + LOG.info("Waiting for regionservers to be registered "+ rsGroupAdmin.listRSGroups()); + //Might be greater since moving servers back to default + //is after starting a server + return rsGroupAdmin.getRSGroupInfo(RSGroupInfo.DEFAULT_GROUP).getServers().size() + == getNumServers(); + } + }); + + LOG.info("Done cleaning up previous test run"); + } +} http://git-wip-us.apache.org/repos/asf/hbase/blob/52f05079/hbase-protocol/pom.xml ---------------------------------------------------------------------- diff --git a/hbase-protocol/pom.xml b/hbase-protocol/pom.xml index 7291d15..c341532 100644 --- a/hbase-protocol/pom.xml +++ b/hbase-protocol/pom.xml @@ -195,6 +195,8 @@ <include>RegionNormalizer.proto</include> <include>RegionServerStatus.proto</include> <include>RowProcessor.proto</include> + <include>RSGroup.proto</include> + <include>RSGroupAdmin.proto</include> <include>SecureBulkLoad.proto</include> <include>Snapshot.proto</include> <include>Tracing.proto</include> http://git-wip-us.apache.org/repos/asf/hbase/blob/52f05079/hbase-protocol/src/main/java/org/apache/hadoop/hbase/protobuf/generated/ClientProtos.java ---------------------------------------------------------------------- diff --git a/hbase-protocol/src/main/java/org/apache/hadoop/hbase/protobuf/generated/ClientProtos.java b/hbase-protocol/src/main/java/org/apache/hadoop/hbase/protobuf/generated/ClientProtos.java index 12950f7..4bd3f5f 100644 --- a/hbase-protocol/src/main/java/org/apache/hadoop/hbase/protobuf/generated/ClientProtos.java +++ b/hbase-protocol/src/main/java/org/apache/hadoop/hbase/protobuf/generated/ClientProtos.java @@ -22646,7 +22646,7 @@ public final class ClientProtos { * </pre> */ private com.google.protobuf.SingleFieldBuilder< - org.apache.hadoop.hbase.protobuf.generated.ClientProtos.Cursor, org.apache.hadoop.hbase.protobuf.generated.ClientProtos.Cursor.Builder, org.apache.hadoop.hbase.protobuf.generated.ClientProtos.CursorOrBuilder> + org.apache.hadoop.hbase.protobuf.generated.ClientProtos.Cursor, org.apache.hadoop.hbase.protobuf.generated.ClientProtos.Cursor.Builder, org.apache.hadoop.hbase.protobuf.generated.ClientProtos.CursorOrBuilder> getCursorFieldBuilder() { if (cursorBuilder_ == null) { cursorBuilder_ = new com.google.protobuf.SingleFieldBuilder< http://git-wip-us.apache.org/repos/asf/hbase/blob/52f05079/hbase-protocol/src/main/java/org/apache/hadoop/hbase/protobuf/generated/MasterProtos.java ---------------------------------------------------------------------- diff --git a/hbase-protocol/src/main/java/org/apache/hadoop/hbase/protobuf/generated/MasterProtos.java b/hbase-protocol/src/main/java/org/apache/hadoop/hbase/protobuf/generated/MasterProtos.java index 2661dc1..793c7b6 100644 --- a/hbase-protocol/src/main/java/org/apache/hadoop/hbase/protobuf/generated/MasterProtos.java +++ b/hbase-protocol/src/main/java/org/apache/hadoop/hbase/protobuf/generated/MasterProtos.java @@ -36539,7 +36539,7 @@ public final class MasterProtos { public final boolean isInitialized() { if (!hasCleanerChoreRan()) { - + return false; } return true; @@ -36981,7 +36981,7 @@ public final class MasterProtos { public final boolean isInitialized() { if (!hasOn()) { - + return false; } return true; @@ -38195,7 +38195,7 @@ public final class MasterProtos { public final boolean isInitialized() { if (!hasValue()) { - + return false; } return true; @@ -38801,7 +38801,7 @@ public final class MasterProtos { * <code>required .hbase.pb.SnapshotDescription snapshot = 1;</code> */ private com.google.protobuf.SingleFieldBuilder< - org.apache.hadoop.hbase.protobuf.generated.SnapshotProtos.SnapshotDescription, org.apache.hadoop.hbase.protobuf.generated.SnapshotProtos.SnapshotDescription.Builder, org.apache.hadoop.hbase.protobuf.generated.SnapshotProtos.SnapshotDescriptionOrBuilder> + org.apache.hadoop.hbase.protobuf.generated.SnapshotProtos.SnapshotDescription, org.apache.hadoop.hbase.protobuf.generated.SnapshotProtos.SnapshotDescription.Builder, org.apache.hadoop.hbase.protobuf.generated.SnapshotProtos.SnapshotDescriptionOrBuilder> getSnapshotFieldBuilder() { if (snapshotBuilder_ == null) { snapshotBuilder_ = new com.google.protobuf.SingleFieldBuilder< @@ -39612,7 +39612,7 @@ public final class MasterProtos { /** * <code>repeated .hbase.pb.SnapshotDescription snapshots = 1;</code> */ - java.util.List<org.apache.hadoop.hbase.protobuf.generated.SnapshotProtos.SnapshotDescription> + java.util.List<org.apache.hadoop.hbase.protobuf.generated.SnapshotProtos.SnapshotDescription> getSnapshotsList(); /** * <code>repeated .hbase.pb.SnapshotDescription snapshots = 1;</code> @@ -39625,7 +39625,7 @@ public final class MasterProtos { /** * <code>repeated .hbase.pb.SnapshotDescription snapshots = 1;</code> */ - java.util.List<? extends org.apache.hadoop.hbase.protobuf.generated.SnapshotProtos.SnapshotDescriptionOrBuilder> + java.util.List<? extends org.apache.hadoop.hbase.protobuf.generated.SnapshotProtos.SnapshotDescriptionOrBuilder> getSnapshotsOrBuilderList(); /** * <code>repeated .hbase.pb.SnapshotDescription snapshots = 1;</code> @@ -39746,7 +39746,7 @@ public final class MasterProtos { /** * <code>repeated .hbase.pb.SnapshotDescription snapshots = 1;</code> */ - public java.util.List<? extends org.apache.hadoop.hbase.protobuf.generated.SnapshotProtos.SnapshotDescriptionOrBuilder> + public java.util.List<? extends org.apache.hadoop.hbase.protobuf.generated.SnapshotProtos.SnapshotDescriptionOrBuilder> getSnapshotsOrBuilderList() { return snapshots_; } @@ -40270,7 +40270,7 @@ public final class MasterProtos { /** * <code>repeated .hbase.pb.SnapshotDescription snapshots = 1;</code> */ - public java.util.List<? extends org.apache.hadoop.hbase.protobuf.generated.SnapshotProtos.SnapshotDescriptionOrBuilder> + public java.util.List<? extends org.apache.hadoop.hbase.protobuf.generated.SnapshotProtos.SnapshotDescriptionOrBuilder> getSnapshotsOrBuilderList() { if (snapshotsBuilder_ != null) { return snapshotsBuilder_.getMessageOrBuilderList(); @@ -40296,12 +40296,12 @@ public final class MasterProtos { /** * <code>repeated .hbase.pb.SnapshotDescription snapshots = 1;</code> */ - public java.util.List<org.apache.hadoop.hbase.protobuf.generated.SnapshotProtos.SnapshotDescription.Builder> + public java.util.List<org.apache.hadoop.hbase.protobuf.generated.SnapshotProtos.SnapshotDescription.Builder> getSnapshotsBuilderList() { return getSnapshotsFieldBuilder().getBuilderList(); } private com.google.protobuf.RepeatedFieldBuilder< - org.apache.hadoop.hbase.protobuf.generated.SnapshotProtos.SnapshotDescription, org.apache.hadoop.hbase.protobuf.generated.SnapshotProtos.SnapshotDescription.Builder, org.apache.hadoop.hbase.protobuf.generated.SnapshotProtos.SnapshotDescriptionOrBuilder> + org.apache.hadoop.hbase.protobuf.generated.SnapshotProtos.SnapshotDescription, org.apache.hadoop.hbase.protobuf.generated.SnapshotProtos.SnapshotDescription.Builder, org.apache.hadoop.hbase.protobuf.generated.SnapshotProtos.SnapshotDescriptionOrBuilder> getSnapshotsFieldBuilder() { if (snapshotsBuilder_ == null) { snapshotsBuilder_ = new com.google.protobuf.RepeatedFieldBuilder< @@ -40863,7 +40863,7 @@ public final class MasterProtos { * <code>required .hbase.pb.SnapshotDescription snapshot = 1;</code> */ private com.google.protobuf.SingleFieldBuilder< - org.apache.hadoop.hbase.protobuf.generated.SnapshotProtos.SnapshotDescription, org.apache.hadoop.hbase.protobuf.generated.SnapshotProtos.SnapshotDescription.Builder, org.apache.hadoop.hbase.protobuf.generated.SnapshotProtos.SnapshotDescriptionOrBuilder> + org.apache.hadoop.hbase.protobuf.generated.SnapshotProtos.SnapshotDescription, org.apache.hadoop.hbase.protobuf.generated.SnapshotProtos.SnapshotDescription.Builder, org.apache.hadoop.hbase.protobuf.generated.SnapshotProtos.SnapshotDescriptionOrBuilder> getSnapshotFieldBuilder() { if (snapshotBuilder_ == null) { snapshotBuilder_ = new com.google.protobuf.SingleFieldBuilder< @@ -41819,7 +41819,7 @@ public final class MasterProtos { * <code>required .hbase.pb.SnapshotDescription snapshot = 1;</code> */ private com.google.protobuf.SingleFieldBuilder< - org.apache.hadoop.hbase.protobuf.generated.SnapshotProtos.SnapshotDescription, org.apache.hadoop.hbase.protobuf.generated.SnapshotProtos.SnapshotDescription.Builder, org.apache.hadoop.hbase.protobuf.generated.SnapshotProtos.SnapshotDescriptionOrBuilder> + org.apache.hadoop.hbase.protobuf.generated.SnapshotProtos.SnapshotDescription, org.apache.hadoop.hbase.protobuf.generated.SnapshotProtos.SnapshotDescription.Builder, org.apache.hadoop.hbase.protobuf.generated.SnapshotProtos.SnapshotDescriptionOrBuilder> getSnapshotFieldBuilder() { if (snapshotBuilder_ == null) { snapshotBuilder_ = new com.google.protobuf.SingleFieldBuilder< @@ -42757,7 +42757,7 @@ public final class MasterProtos { * <code>optional .hbase.pb.SnapshotDescription snapshot = 1;</code> */ private com.google.protobuf.SingleFieldBuilder< - org.apache.hadoop.hbase.protobuf.generated.SnapshotProtos.SnapshotDescription, org.apache.hadoop.hbase.protobuf.generated.SnapshotProtos.SnapshotDescription.Builder, org.apache.hadoop.hbase.protobuf.generated.SnapshotProtos.SnapshotDescriptionOrBuilder> + org.apache.hadoop.hbase.protobuf.generated.SnapshotProtos.SnapshotDescription, org.apache.hadoop.hbase.protobuf.generated.SnapshotProtos.SnapshotDescription.Builder, org.apache.hadoop.hbase.protobuf.generated.SnapshotProtos.SnapshotDescriptionOrBuilder> getSnapshotFieldBuilder() { if (snapshotBuilder_ == null) { snapshotBuilder_ = new com.google.protobuf.SingleFieldBuilder< @@ -43404,7 +43404,7 @@ public final class MasterProtos { * <code>optional .hbase.pb.SnapshotDescription snapshot = 2;</code> */ private com.google.protobuf.SingleFieldBuilder< - org.apache.hadoop.hbase.protobuf.generated.SnapshotProtos.SnapshotDescription, org.apache.hadoop.hbase.protobuf.generated.SnapshotProtos.SnapshotDescription.Builder, org.apache.hadoop.hbase.protobuf.generated.SnapshotProtos.SnapshotDescriptionOrBuilder> + org.apache.hadoop.hbase.protobuf.generated.SnapshotProtos.SnapshotDescription, org.apache.hadoop.hbase.protobuf.generated.SnapshotProtos.SnapshotDescription.Builder, org.apache.hadoop.hbase.protobuf.generated.SnapshotProtos.SnapshotDescriptionOrBuilder> getSnapshotFieldBuilder() { if (snapshotBuilder_ == null) { snapshotBuilder_ = new com.google.protobuf.SingleFieldBuilder< @@ -43961,7 +43961,7 @@ public final class MasterProtos { * <code>optional .hbase.pb.SnapshotDescription snapshot = 1;</code> */ private com.google.protobuf.SingleFieldBuilder< - org.apache.hadoop.hbase.protobuf.generated.SnapshotProtos.SnapshotDescription, org.apache.hadoop.hbase.protobuf.generated.SnapshotProtos.SnapshotDescription.Builder, org.apache.hadoop.hbase.protobuf.generated.SnapshotProtos.SnapshotDescriptionOrBuilder> + org.apache.hadoop.hbase.protobuf.generated.SnapshotProtos.SnapshotDescription, org.apache.hadoop.hbase.protobuf.generated.SnapshotProtos.SnapshotDescription.Builder, org.apache.hadoop.hbase.protobuf.generated.SnapshotProtos.SnapshotDescriptionOrBuilder> getSnapshotFieldBuilder() { if (snapshotBuilder_ == null) { snapshotBuilder_ = new com.google.protobuf.SingleFieldBuilder<