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  }