123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158 |
- /**
- * 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.
- */
- // This file contains protocol buffers that are used for RegionServerStatusProtocol.
- package pb;
- option java_package = "org.apache.hadoop.hbase.protobuf.generated";
- option java_outer_classname = "RegionServerStatusProtos";
- option java_generic_services = true;
- option java_generate_equals_and_hash = true;
- option optimize_for = SPEED;
- import "HBase.proto";
- import "ClusterStatus.proto";
- message RegionServerStartupRequest {
- /** Port number this regionserver is up on */
- required uint32 port = 1;
- /** This servers' startcode */
- required uint64 server_start_code = 2;
- /** Current time of the region server in ms */
- required uint64 server_current_time = 3;
- /** hostname for region server, optional */
- optional string use_this_hostname_instead = 4;
- }
- message RegionServerStartupResponse {
- /**
- * Configuration for the regionserver to use: e.g. filesystem,
- * hbase rootdir, the hostname to use creating the RegionServer ServerName,
- * etc
- */
- repeated NameStringPair map_entries = 1;
- }
- message RegionServerReportRequest {
- required ServerName server = 1;
- /** load the server is under */
- optional ServerLoad load = 2;
- }
- message RegionServerReportResponse {
- }
- message ReportRSFatalErrorRequest {
- /** name of the server experiencing the error */
- required ServerName server = 1;
- /** informative text to expose in the master logs and UI */
- required string error_message = 2;
- }
- message ReportRSFatalErrorResponse {
- }
- message GetLastFlushedSequenceIdRequest {
- /** region name */
- required bytes region_name = 1;
- }
- message GetLastFlushedSequenceIdResponse {
- /** the last WAL sequence id flushed from MemStore to HFile for the region */
- required uint64 last_flushed_sequence_id = 1;
- /** the last WAL sequence id flushed from MemStore to HFile for stores of the region */
- repeated StoreSequenceId store_last_flushed_sequence_id = 2;
- }
- message RegionStateTransition {
- required TransitionCode transition_code = 1;
- /** Mutliple regions are involved during merging/splitting */
- repeated RegionInfo region_info = 2;
- /** For newly opened region, the open seq num is needed */
- optional uint64 open_seq_num = 3;
- enum TransitionCode {
- OPENED = 0;
- FAILED_OPEN = 1;
- /** No failed_close, in which case region server will abort */
- CLOSED = 2;
- /** Ask master for ok to split/merge region(s) */
- READY_TO_SPLIT = 3;
- READY_TO_MERGE = 4;
- SPLIT_PONR = 5;
- MERGE_PONR = 6;
- SPLIT = 7;
- MERGED = 8;
- SPLIT_REVERTED = 9;
- MERGE_REVERTED = 10;
- }
- }
- message ReportRegionStateTransitionRequest {
- /** This region server's server name */
- required ServerName server = 1;
- repeated RegionStateTransition transition = 2;
- }
- message ReportRegionStateTransitionResponse {
- /** Error message if failed to update the region state */
- optional string error_message = 1;
- }
- service RegionServerStatusService {
- /** Called when a region server first starts. */
- rpc RegionServerStartup(RegionServerStartupRequest)
- returns(RegionServerStartupResponse);
- /** Called to report the load the RegionServer is under. */
- rpc RegionServerReport(RegionServerReportRequest)
- returns(RegionServerReportResponse);
- /**
- * Called by a region server to report a fatal error that is causing it to
- * abort.
- */
- rpc ReportRSFatalError(ReportRSFatalErrorRequest)
- returns(ReportRSFatalErrorResponse);
- /** Called to get the sequence id of the last MemStore entry flushed to an
- * HFile for a specified region. Used by the region server to speed up
- * log splitting. */
- rpc GetLastFlushedSequenceId(GetLastFlushedSequenceIdRequest)
- returns(GetLastFlushedSequenceIdResponse);
- /**
- * Called by a region server to report the progress of a region
- * transition. If the request fails, the transition should
- * be aborted.
- */
- rpc ReportRegionStateTransition(ReportRegionStateTransitionRequest)
- returns(ReportRegionStateTransitionResponse);
- }
|