You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
158 lines
4.7 KiB
158 lines
4.7 KiB
/** |
|
* 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); |
|
}
|
|
|