github.com/tsuna/gohbase@v0.0.0-20250731002811-4ffcadfba63e/pb/ClusterStatus.proto (about) 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 19 // This file contains protocol buffers that are used for ClustStatus 20 syntax = "proto2"; 21 package pb; 22 23 option java_package = "org.apache.hadoop.hbase.protobuf.generated"; 24 option java_outer_classname = "ClusterStatusProtos"; 25 option java_generate_equals_and_hash = true; 26 option optimize_for = SPEED; 27 option go_package = "../pb"; 28 29 import "HBase.proto"; 30 import "ClusterId.proto"; 31 import "FS.proto"; 32 33 message RegionState { 34 required RegionInfo region_info = 1; 35 required State state = 2; 36 optional uint64 stamp = 3; 37 enum State { 38 OFFLINE = 0; // region is in an offline state 39 PENDING_OPEN = 1; // sent rpc to server to open but has not begun 40 OPENING = 2; // server has begun to open but not yet done 41 OPEN = 3; // server opened region and updated meta 42 PENDING_CLOSE = 4; // sent rpc to server to close but has not begun 43 CLOSING = 5; // server has begun to close but not yet done 44 CLOSED = 6; // server closed region and updated meta 45 SPLITTING = 7; // server started split of a region 46 SPLIT = 8; // server completed split of a region 47 FAILED_OPEN = 9; // failed to open, and won't retry any more 48 FAILED_CLOSE = 10; // failed to close, and won't retry any more 49 MERGING = 11; // server started merge a region 50 MERGED = 12; // server completed merge of a region 51 SPLITTING_NEW = 13; // new region to be created when RS splits a parent 52 // region but hasn't be created yet, or master doesn't 53 // know it's already created 54 MERGING_NEW = 14; // new region to be created when RS merges two 55 // daughter regions but hasn't be created yet, or 56 // master doesn't know it's already created 57 } 58 } 59 60 message RegionInTransition { 61 required RegionSpecifier spec = 1; 62 required RegionState region_state = 2; 63 } 64 65 /** 66 * sequence Id of a store 67 */ 68 message StoreSequenceId { 69 required bytes family_name = 1; 70 required uint64 sequence_id = 2; 71 } 72 73 /** 74 * contains a sequence id of a region which should be the minimum of its store sequence ids and 75 * list of sequence ids of the region's stores 76 */ 77 message RegionStoreSequenceIds { 78 required uint64 last_flushed_sequence_id = 1; 79 repeated StoreSequenceId store_sequence_id = 2; 80 } 81 82 message RegionLoad { 83 /** the region specifier */ 84 required RegionSpecifier region_specifier = 1; 85 86 /** the number of stores for the region */ 87 optional uint32 stores = 2; 88 89 /** the number of storefiles for the region */ 90 optional uint32 storefiles = 3; 91 92 /** the total size of the store files for the region, uncompressed, in MB */ 93 optional uint32 store_uncompressed_size_MB = 4; 94 95 /** the current total size of the store files for the region, in MB */ 96 optional uint32 storefile_size_MB = 5; 97 98 /** the current size of the memstore for the region, in MB */ 99 optional uint32 memstore_size_MB = 6; 100 101 /** 102 * The current total size of root-level store file indexes for the region, 103 * in MB. The same as {@link #rootIndexSizeKB} but in MB. 104 */ 105 optional uint32 storefile_index_size_MB = 7; 106 107 /** the current total read requests made to region */ 108 optional uint64 read_requests_count = 8; 109 110 /** the current total write requests made to region */ 111 optional uint64 write_requests_count = 9; 112 113 /** the total compacting key values in currently running compaction */ 114 optional uint64 total_compacting_KVs = 10; 115 116 /** the completed count of key values in currently running compaction */ 117 optional uint64 current_compacted_KVs = 11; 118 119 /** The current total size of root-level indexes for the region, in KB. */ 120 optional uint32 root_index_size_KB = 12; 121 122 /** The total size of all index blocks, not just the root level, in KB. */ 123 optional uint32 total_static_index_size_KB = 13; 124 125 /** 126 * The total size of all Bloom filter blocks, not just loaded into the 127 * block cache, in KB. 128 */ 129 optional uint32 total_static_bloom_size_KB = 14; 130 131 /** the most recent sequence Id from cache flush */ 132 optional uint64 complete_sequence_id = 15; 133 134 /** The current data locality for region in the regionserver */ 135 optional float data_locality = 16; 136 137 optional uint64 last_major_compaction_ts = 17 [default = 0]; 138 139 /** the most recent sequence Id of store from cache flush */ 140 repeated StoreSequenceId store_complete_sequence_id = 18; 141 } 142 143 /* Server-level protobufs */ 144 145 message ReplicationLoadSink { 146 required uint64 ageOfLastAppliedOp = 1; 147 required uint64 timeStampsOfLastAppliedOp = 2; 148 } 149 150 message ReplicationLoadSource { 151 required string peerID = 1; 152 required uint64 ageOfLastShippedOp = 2; 153 required uint32 sizeOfLogQueue = 3; 154 required uint64 timeStampOfLastShippedOp = 4; 155 required uint64 replicationLag = 5; 156 } 157 158 message ServerLoad { 159 /** Number of requests since last report. */ 160 optional uint64 number_of_requests = 1; 161 162 /** Total Number of requests from the start of the region server. */ 163 optional uint64 total_number_of_requests = 2; 164 165 /** the amount of used heap, in MB. */ 166 optional uint32 used_heap_MB = 3; 167 168 /** the maximum allowable size of the heap, in MB. */ 169 optional uint32 max_heap_MB = 4; 170 171 /** Information on the load of individual regions. */ 172 repeated RegionLoad region_loads = 5; 173 174 /** 175 * Regionserver-level coprocessors, e.g., WALObserver implementations. 176 * Region-level coprocessors, on the other hand, are stored inside RegionLoad 177 * objects. 178 */ 179 repeated Coprocessor coprocessors = 6; 180 181 /** 182 * Time when incremental (non-total) counts began being calculated (e.g. number_of_requests) 183 * time is measured as the difference, measured in milliseconds, between the current time 184 * and midnight, January 1, 1970 UTC. 185 */ 186 optional uint64 report_start_time = 7; 187 188 /** 189 * Time when report was generated. 190 * time is measured as the difference, measured in milliseconds, between the current time 191 * and midnight, January 1, 1970 UTC. 192 */ 193 optional uint64 report_end_time = 8; 194 195 /** 196 * The port number that this region server is hosing an info server on. 197 */ 198 optional uint32 info_server_port = 9; 199 200 /** 201 * The replicationLoadSource for the replication Source status of this region server. 202 */ 203 repeated ReplicationLoadSource replLoadSource = 10; 204 205 /** 206 * The replicationLoadSink for the replication Sink status of this region server. 207 */ 208 optional ReplicationLoadSink replLoadSink = 11; 209 } 210 211 message LiveServerInfo { 212 required ServerName server = 1; 213 required ServerLoad server_load = 2; 214 } 215 216 message ClusterStatus { 217 optional HBaseVersionFileContent hbase_version = 1; 218 repeated LiveServerInfo live_servers = 2; 219 repeated ServerName dead_servers = 3; 220 repeated RegionInTransition regions_in_transition = 4; 221 optional ClusterId cluster_id = 5; 222 repeated Coprocessor master_coprocessors = 6; 223 optional ServerName master = 7; 224 repeated ServerName backup_masters = 8; 225 optional bool balancer_on = 9; 226 }