123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310 |
- /**
- * 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 Admin service.
- package pb;
- option java_package = "org.apache.hadoop.hbase.protobuf.generated";
- option java_outer_classname = "AdminProtos";
- option java_generic_services = true;
- option java_generate_equals_and_hash = true;
- option optimize_for = SPEED;
- //import "Client.proto";
- import "HBase.proto";
- import "WAL.proto";
- message GetRegionInfoRequest {
- required RegionSpecifier region = 1;
- optional bool compaction_state = 2;
- }
- message GetRegionInfoResponse {
- required RegionInfo region_info = 1;
- optional CompactionState compaction_state = 2;
- optional bool isRecovering = 3;
- enum CompactionState {
- NONE = 0;
- MINOR = 1;
- MAJOR = 2;
- MAJOR_AND_MINOR = 3;
- }
- }
- /**
- * Get a list of store files for a set of column families in a particular region.
- * If no column family is specified, get the store files for all column families.
- */
- message GetStoreFileRequest {
- required RegionSpecifier region = 1;
- repeated bytes family = 2;
- }
- message GetStoreFileResponse {
- repeated string store_file = 1;
- }
- message GetOnlineRegionRequest {
- }
- message GetOnlineRegionResponse {
- repeated RegionInfo region_info = 1;
- }
- message OpenRegionRequest {
- repeated RegionOpenInfo open_info = 1;
- // the intended server for this RPC.
- optional uint64 serverStartCode = 2;
- // wall clock time from master
- optional uint64 master_system_time = 5;
- message RegionOpenInfo {
- required RegionInfo region = 1;
- optional uint32 version_of_offline_node = 2;
- repeated ServerName favored_nodes = 3;
- // open region for distributedLogReplay
- optional bool openForDistributedLogReplay = 4;
- }
- }
- message OpenRegionResponse {
- repeated RegionOpeningState opening_state = 1;
- enum RegionOpeningState {
- OPENED = 0;
- ALREADY_OPENED = 1;
- FAILED_OPENING = 2;
- }
- }
- message WarmupRegionRequest {
- required RegionInfo regionInfo = 1;
- }
- message WarmupRegionResponse {
- }
- /**
- * Closes the specified region and will use or not use ZK during the close
- * according to the specified flag.
- */
- message CloseRegionRequest {
- required RegionSpecifier region = 1;
- optional uint32 version_of_closing_node = 2;
- optional bool transition_in_ZK = 3 [default = true];
- optional ServerName destination_server = 4;
- // the intended server for this RPC.
- optional uint64 serverStartCode = 5;
- }
- message CloseRegionResponse {
- required bool closed = 1;
- }
- /**
- * Flushes the MemStore of the specified region.
- * <p>
- * This method is synchronous.
- */
- message FlushRegionRequest {
- required RegionSpecifier region = 1;
- optional uint64 if_older_than_ts = 2;
- optional bool write_flush_wal_marker = 3; // whether to write a marker to WAL even if not flushed
- }
- message FlushRegionResponse {
- required uint64 last_flush_time = 1;
- optional bool flushed = 2;
- optional bool wrote_flush_wal_marker = 3;
- }
- /**
- * Splits the specified region.
- * <p>
- * This method currently flushes the region and then forces a compaction which
- * will then trigger a split. The flush is done synchronously but the
- * compaction is asynchronous.
- */
- message SplitRegionRequest {
- required RegionSpecifier region = 1;
- optional bytes split_point = 2;
- }
- message SplitRegionResponse {
- }
- /**
- * Compacts the specified region. Performs a major compaction if specified.
- * <p>
- * This method is asynchronous.
- */
- message CompactRegionRequest {
- required RegionSpecifier region = 1;
- optional bool major = 2;
- optional bytes family = 3;
- }
- message CompactRegionResponse {
- }
- message UpdateFavoredNodesRequest {
- repeated RegionUpdateInfo update_info = 1;
- message RegionUpdateInfo {
- required RegionInfo region = 1;
- repeated ServerName favored_nodes = 2;
- }
- }
- message UpdateFavoredNodesResponse {
- optional uint32 response = 1;
- }
- /**
- * Merges the specified regions.
- * <p>
- * This method currently closes the regions and then merges them
- */
- message MergeRegionsRequest {
- required RegionSpecifier region_a = 1;
- required RegionSpecifier region_b = 2;
- optional bool forcible = 3 [default = false];
- // wall clock time from master
- optional uint64 master_system_time = 4;
- }
- message MergeRegionsResponse {
- }
- // Protocol buffer version of WAL for replication
- message WALEntry {
- required WALKey key = 1;
- // Following may be null if the KVs/Cells are carried along the side in a cellblock (See
- // RPC for more on cellblocks). If Cells/KVs are in a cellblock, this next field is null
- // and associated_cell_count has count of Cells associated w/ this WALEntry
- repeated bytes key_value_bytes = 2;
- // If Cell data is carried alongside in a cellblock, this is count of Cells in the cellblock.
- optional int32 associated_cell_count = 3;
- }
- /**
- * Replicates the given entries. The guarantee is that the given entries
- * will be durable on the slave cluster if this method returns without
- * any exception. hbase.replication has to be set to true for this to work.
- */
- message ReplicateWALEntryRequest {
- repeated WALEntry entry = 1;
- optional string replicationClusterId = 2;
- optional string sourceBaseNamespaceDirPath = 3;
- optional string sourceHFileArchiveDirPath = 4;
- }
- message ReplicateWALEntryResponse {
- }
- message RollWALWriterRequest {
- }
- /*
- * Roll request responses no longer include regions to flush
- * this list will always be empty when talking to a 1.0 server
- */
- message RollWALWriterResponse {
- // A list of encoded name of regions to flush
- repeated bytes region_to_flush = 1;
- }
- message StopServerRequest {
- required string reason = 1;
- }
- message StopServerResponse {
- }
- message GetServerInfoRequest {
- }
- message ServerInfo {
- required ServerName server_name = 1;
- optional uint32 webui_port = 2;
- }
- message GetServerInfoResponse {
- required ServerInfo server_info = 1;
- }
- message UpdateConfigurationRequest {
- }
- message UpdateConfigurationResponse {
- }
- service AdminService {
- rpc GetRegionInfo(GetRegionInfoRequest)
- returns(GetRegionInfoResponse);
- rpc GetStoreFile(GetStoreFileRequest)
- returns(GetStoreFileResponse);
- rpc GetOnlineRegion(GetOnlineRegionRequest)
- returns(GetOnlineRegionResponse);
- rpc OpenRegion(OpenRegionRequest)
- returns(OpenRegionResponse);
- rpc WarmupRegion(WarmupRegionRequest)
- returns(WarmupRegionResponse);
- rpc CloseRegion(CloseRegionRequest)
- returns(CloseRegionResponse);
- rpc FlushRegion(FlushRegionRequest)
- returns(FlushRegionResponse);
- rpc SplitRegion(SplitRegionRequest)
- returns(SplitRegionResponse);
- rpc CompactRegion(CompactRegionRequest)
- returns(CompactRegionResponse);
- rpc MergeRegions(MergeRegionsRequest)
- returns(MergeRegionsResponse);
- rpc ReplicateWALEntry(ReplicateWALEntryRequest)
- returns(ReplicateWALEntryResponse);
- rpc Replay(ReplicateWALEntryRequest)
- returns(ReplicateWALEntryResponse);
- rpc RollWALWriter(RollWALWriterRequest)
- returns(RollWALWriterResponse);
- rpc GetServerInfo(GetServerInfoRequest)
- returns(GetServerInfoResponse);
- rpc StopServer(StopServerRequest)
- returns(StopServerResponse);
- rpc UpdateFavoredNodes(UpdateFavoredNodesRequest)
- returns(UpdateFavoredNodesResponse);
- rpc UpdateConfiguration(UpdateConfigurationRequest)
- returns(UpdateConfigurationResponse);
- }
|