HBASE-23232 Remove rsgroup profile from pom.xml of hbase-assembly (#779)
[hbase.git] / hbase-protocol-shaded / src / main / protobuf / Replication.proto
blob6619c9694a46b36237ce425dafa31fb7fcde6cd4
1  /**
2  * Licensed to the Apache Software Foundation (ASF) under one
3  * or more contributor license agreements.  See the NOTICE file
4  * distributed with this work for additional information
5  * regarding copyright ownership.  The ASF licenses this file
6  * to you under the Apache License, Version 2.0 (the
7  * "License"); you may not use this file except in compliance
8  * with the License.  You may obtain a copy of the License at
9  *
10  *     http://www.apache.org/licenses/LICENSE-2.0
11  *
12  * Unless required by applicable law or agreed to in writing, software
13  * distributed under the License is distributed on an "AS IS" BASIS,
14  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15  * See the License for the specific language governing permissions and
16  * limitations under the License.
17  */
18 syntax = "proto2";
20 package hbase.pb;
22 option java_package = "org.apache.hadoop.hbase.shaded.protobuf.generated";
23 option java_outer_classname = "ReplicationProtos";
24 option java_generic_services = true;
25 option java_generate_equals_and_hash = true;
26 option optimize_for = SPEED;
28 import "HBase.proto";
30 message TableCF {
31   optional TableName table_name = 1;
32   repeated bytes families = 2;
35 /**
36  * Used by replication. Holds a replication peer key.
37  */
38 message ReplicationPeer {
39   // clusterkey is the concatenation of the slave cluster's
40   // hbase.zookeeper.quorum:hbase.zookeeper.property.clientPort:zookeeper.znode.parent
41   optional string clusterkey = 1;
42   optional string replicationEndpointImpl = 2;
43   repeated BytesBytesPair data = 3;
44   repeated NameStringPair configuration = 4;
45   repeated TableCF table_cfs = 5;
46   repeated bytes namespaces = 6;
47   optional int64 bandwidth = 7;
48   optional bool replicate_all = 8;
49   repeated TableCF exclude_table_cfs = 9;
50   repeated bytes exclude_namespaces = 10;
51   optional bool serial = 11;
52   optional string remoteWALDir = 12;
55 /**
56  * Used by replication. Holds whether enabled or disabled
57  */
58 message ReplicationState {
59   enum State {
60     ENABLED = 0;
61     DISABLED = 1;
62   }
63   required State state = 1;
66 /**
67  * Indicate the state of the current cluster in a synchronous replication peer.
68  */
69 message SyncReplicationState {
70   enum State {
71     NONE = 0;
72     ACTIVE = 1;
73     DOWNGRADE_ACTIVE = 2;
74     STANDBY = 3;
75   }
76   required State state = 1;
79 /**
80  * Used by replication. Description of the replication peer.
81  */
82 message ReplicationPeerDescription {
83   required string id = 1;
84   required ReplicationState state = 2;
85   required ReplicationPeer config = 3;
86   optional SyncReplicationState syncReplicationState = 4;
89 /**
90  * Used by replication. Holds the current position in an WAL file.
91  */
92 message ReplicationHLogPosition {
93   required int64 position = 1;
96 message AddReplicationPeerRequest {
97   required string peer_id = 1;
98   required ReplicationPeer peer_config = 2;
99   required ReplicationState peer_state = 3;
102 message AddReplicationPeerResponse {
103   optional uint64 proc_id = 1;
106 message RemoveReplicationPeerRequest {
107   required string peer_id = 1;
110 message RemoveReplicationPeerResponse {
111   optional uint64 proc_id = 1;
114 message EnableReplicationPeerRequest {
115   required string peer_id = 1;
118 message EnableReplicationPeerResponse {
119   optional uint64 proc_id = 1;
122 message DisableReplicationPeerRequest {
123   required string peer_id = 1;
126 message DisableReplicationPeerResponse {
127   optional uint64 proc_id = 1;
130 message GetReplicationPeerConfigRequest {
131   required string peer_id = 1;
134 message GetReplicationPeerConfigResponse {
135   required string peer_id = 1;
136   required ReplicationPeer peer_config = 2;
139 message UpdateReplicationPeerConfigRequest {
140   required string peer_id = 1;
141   required ReplicationPeer peer_config = 2;
144 message UpdateReplicationPeerConfigResponse {
145   optional uint64 proc_id = 1;
148 message ListReplicationPeersRequest {
149   optional string regex = 1;
152 message ListReplicationPeersResponse {
153   repeated ReplicationPeerDescription peer_desc = 1;
156 message TransitReplicationPeerSyncReplicationStateRequest {
157   required string peer_id = 1;
158   required SyncReplicationState syncReplicationState = 2;
161 message TransitReplicationPeerSyncReplicationStateResponse {
162   required uint64 proc_id = 1;