123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176 |
- /**
- * 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.
- */
- // ZNode data in hbase are serialized protobufs with a four byte
- // 'magic' 'PBUF' prefix.
- package pb;
- option java_package = "org.apache.hadoop.hbase.protobuf.generated";
- option java_outer_classname = "ZooKeeperProtos";
- option java_generic_services = true;
- option java_generate_equals_and_hash = true;
- option optimize_for = SPEED;
- import "HBase.proto";
- import "ClusterStatus.proto";
- /**
- * Content of the meta-region-server znode.
- */
- message MetaRegionServer {
- // The ServerName hosting the meta region currently, or destination server,
- // if meta region is in transition.
- required ServerName server = 1;
- // The major version of the rpc the server speaks. This is used so that
- // clients connecting to the cluster can have prior knowledge of what version
- // to send to a RegionServer. AsyncHBase will use this to detect versions.
- optional uint32 rpc_version = 2;
- // State of the region transition. OPEN means fully operational 'hbase:meta'
- optional RegionState.State state = 3;
- }
- /**
- * Content of the master znode.
- */
- message Master {
- // The ServerName of the current Master
- required ServerName master = 1;
- // Major RPC version so that clients can know what version the master can accept.
- optional uint32 rpc_version = 2;
- optional uint32 info_port = 3;
- }
- /**
- * Content of the '/hbase/running', cluster state, znode.
- */
- message ClusterUp {
- // If this znode is present, cluster is up. Currently
- // the data is cluster start_date.
- required string start_date = 1;
- }
- /**
- * What we write under unassigned up in zookeeper as a region moves through
- * open/close, etc., regions. Details a region in transition.
- */
- message RegionTransition {
- // Code for EventType gotten by doing o.a.h.h.EventHandler.EventType.getCode()
- required uint32 event_type_code = 1;
- // Full regionname in bytes
- required bytes region_name = 2;
- required uint64 create_time = 3;
- // The region server where the transition will happen or is happening
- required ServerName server_name = 4;
- optional bytes payload = 5;
- }
- /**
- * WAL SplitLog directory znodes have this for content. Used doing distributed
- * WAL splitting. Holds current state and name of server that originated split.
- */
- message SplitLogTask {
- enum State {
- UNASSIGNED = 0;
- OWNED = 1;
- RESIGNED = 2;
- DONE = 3;
- ERR = 4;
- }
- enum RecoveryMode {
- UNKNOWN = 0;
- LOG_SPLITTING = 1;
- LOG_REPLAY = 2;
- }
- required State state = 1;
- required ServerName server_name = 2;
- optional RecoveryMode mode = 3 [default = UNKNOWN];
- }
- /**
- * The znode that holds state of table.
- */
- message Table {
- // Table's current state
- enum State {
- ENABLED = 0;
- DISABLED = 1;
- DISABLING = 2;
- ENABLING = 3;
- }
- // This is the table's state. If no znode for a table,
- // its state is presumed enabled. See o.a.h.h.zookeeper.ZKTable class
- // for more.
- required State state = 1 [default = ENABLED];
- }
- /**
- * Used by replication. Holds a replication peer key.
- */
- message ReplicationPeer {
- // clusterkey is the concatenation of the slave cluster's
- // hbase.zookeeper.quorum:hbase.zookeeper.property.clientPort:zookeeper.znode.parent
- required string clusterkey = 1;
- optional string replicationEndpointImpl = 2;
- repeated BytesBytesPair data = 3;
- repeated NameStringPair configuration = 4;
- }
- /**
- * Used by replication. Holds whether enabled or disabled
- */
- message ReplicationState {
- enum State {
- ENABLED = 0;
- DISABLED = 1;
- }
- required State state = 1;
- }
- /**
- * Used by replication. Holds the current position in an WAL file.
- */
- message ReplicationHLogPosition {
- required int64 position = 1;
- }
- /**
- * Used by replication. Used to lock a region server during failover.
- */
- message ReplicationLock {
- required string lock_owner = 1;
- }
- /**
- * Metadata associated with a table lock in zookeeper
- */
- message TableLock {
- optional TableName table_name = 1;
- optional ServerName lock_owner = 2;
- optional int64 thread_id = 3;
- optional bool is_shared = 4;
- optional string purpose = 5;
- optional int64 create_time = 6;
- }
- /**
- * State of the switch.
- */
- message SwitchState {
- optional bool enabled = 1;
- }
|