github.com/insionng/yougam@v0.0.0-20170714101924-2bc18d833463/libraries/pingcap/go-hbase/protobuf/Master.proto (about) 1 package proto; 2 /** 3 * Licensed to the Apache Software Foundation (ASF) under one 4 * or more contributor license agreements. See the NOTICE file 5 * distributed with this work for additional information 6 * regarding copyright ownership. The ASF licenses this file 7 * to you under the Apache License, Version 2.0 (the 8 * "License"); you may not use this file except in compliance 9 * with the License. You may obtain a copy of the License at 10 * 11 * http://www.apache.org/licenses/LICENSE-2.0 12 * 13 * Unless required by applicable law or agreed to in writing, software 14 * distributed under the License is distributed on an "AS IS" BASIS, 15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 16 * See the License for the specific language governing permissions and 17 * limitations under the License. 18 */ 19 20 // All to do with the Master. Includes schema management since these 21 // changes are run by the Master process. 22 23 option java_package = "org.apache.hadoop.hbase.protobuf.generated"; 24 option java_outer_classname = "MasterProtos"; 25 option java_generic_services = true; 26 option java_generate_equals_and_hash = true; 27 option optimize_for = SPEED; 28 29 import "HBase.proto"; 30 import "Client.proto"; 31 import "ClusterStatus.proto"; 32 33 /* Column-level protobufs */ 34 35 message AddColumnRequest { 36 required TableName table_name = 1; 37 required ColumnFamilySchema column_families = 2; 38 } 39 40 message AddColumnResponse { 41 } 42 43 message DeleteColumnRequest { 44 required TableName table_name = 1; 45 required bytes column_name = 2; 46 } 47 48 message DeleteColumnResponse { 49 } 50 51 message ModifyColumnRequest { 52 required TableName table_name = 1; 53 required ColumnFamilySchema column_families = 2; 54 } 55 56 message ModifyColumnResponse { 57 } 58 59 /* Region-level Protos */ 60 61 message MoveRegionRequest { 62 required RegionSpecifier region = 1; 63 optional ServerName dest_server_name = 2; 64 } 65 66 message MoveRegionResponse { 67 } 68 69 /** 70 * Dispatch merging the specified regions. 71 */ 72 message DispatchMergingRegionsRequest { 73 required RegionSpecifier region_a = 1; 74 required RegionSpecifier region_b = 2; 75 optional bool forcible = 3 [default = false]; 76 } 77 78 message DispatchMergingRegionsResponse { 79 } 80 81 message AssignRegionRequest { 82 required RegionSpecifier region = 1; 83 } 84 85 message AssignRegionResponse { 86 } 87 88 message UnassignRegionRequest { 89 required RegionSpecifier region = 1; 90 optional bool force = 2 [default = false]; 91 } 92 93 message UnassignRegionResponse { 94 } 95 96 message OfflineRegionRequest { 97 required RegionSpecifier region = 1; 98 } 99 100 message OfflineRegionResponse { 101 } 102 103 /* Table-level protobufs */ 104 105 message CreateTableRequest { 106 required TableSchema table_schema = 1; 107 repeated bytes split_keys = 2; 108 } 109 110 message CreateTableResponse { 111 } 112 113 message DeleteTableRequest { 114 required TableName table_name = 1; 115 } 116 117 message DeleteTableResponse { 118 } 119 120 message EnableTableRequest { 121 required TableName table_name = 1; 122 } 123 124 message EnableTableResponse { 125 } 126 127 message DisableTableRequest { 128 required TableName table_name = 1; 129 } 130 131 message DisableTableResponse { 132 } 133 134 message ModifyTableRequest { 135 required TableName table_name = 1; 136 required TableSchema table_schema = 2; 137 } 138 139 message ModifyTableResponse { 140 } 141 142 /* Namespace-level protobufs */ 143 144 message CreateNamespaceRequest { 145 required NamespaceDescriptor namespaceDescriptor = 1; 146 } 147 148 message CreateNamespaceResponse { 149 } 150 151 message DeleteNamespaceRequest { 152 required string namespaceName = 1; 153 } 154 155 message DeleteNamespaceResponse { 156 } 157 158 message ModifyNamespaceRequest { 159 required NamespaceDescriptor namespaceDescriptor = 1; 160 } 161 162 message ModifyNamespaceResponse { 163 } 164 165 message GetNamespaceDescriptorRequest { 166 required string namespaceName = 1; 167 } 168 169 message GetNamespaceDescriptorResponse { 170 required NamespaceDescriptor namespaceDescriptor = 1; 171 } 172 173 message ListNamespaceDescriptorsRequest { 174 } 175 176 message ListNamespaceDescriptorsResponse { 177 repeated NamespaceDescriptor namespaceDescriptor = 1; 178 } 179 180 message ListTableDescriptorsByNamespaceRequest { 181 required string namespaceName = 1; 182 } 183 184 message ListTableDescriptorsByNamespaceResponse { 185 repeated TableSchema tableSchema = 1; 186 } 187 188 message ListTableNamesByNamespaceRequest { 189 required string namespaceName = 1; 190 } 191 192 message ListTableNamesByNamespaceResponse { 193 repeated TableName tableName = 1; 194 } 195 196 /* Cluster-level protobufs */ 197 198 199 message ShutdownRequest { 200 } 201 202 message ShutdownResponse { 203 } 204 205 message StopMasterRequest { 206 } 207 208 message StopMasterResponse { 209 } 210 211 message BalanceRequest { 212 } 213 214 message BalanceResponse { 215 required bool balancer_ran = 1; 216 } 217 218 message SetBalancerRunningRequest { 219 required bool on = 1; 220 optional bool synchronous = 2; 221 } 222 223 message SetBalancerRunningResponse { 224 optional bool prev_balance_value = 1; 225 } 226 227 message IsBalancerEnabledRequest { 228 } 229 230 message IsBalancerEnabledResponse { 231 required bool enabled = 1; 232 } 233 234 message RunCatalogScanRequest { 235 } 236 237 message RunCatalogScanResponse { 238 optional int32 scan_result = 1; 239 } 240 241 message EnableCatalogJanitorRequest { 242 required bool enable = 1; 243 } 244 245 message EnableCatalogJanitorResponse { 246 optional bool prev_value = 1; 247 } 248 249 message IsCatalogJanitorEnabledRequest { 250 } 251 252 message IsCatalogJanitorEnabledResponse { 253 required bool value = 1; 254 } 255 256 message SnapshotRequest { 257 required SnapshotDescription snapshot = 1; 258 } 259 260 message SnapshotResponse { 261 required int64 expected_timeout = 1; 262 } 263 264 message GetCompletedSnapshotsRequest { 265 } 266 267 message GetCompletedSnapshotsResponse { 268 repeated SnapshotDescription snapshots = 1; 269 } 270 271 message DeleteSnapshotRequest { 272 required SnapshotDescription snapshot = 1; 273 } 274 275 message DeleteSnapshotResponse { 276 } 277 278 message RestoreSnapshotRequest { 279 required SnapshotDescription snapshot = 1; 280 } 281 282 message RestoreSnapshotResponse { 283 } 284 285 /* if you don't send the snapshot, then you will get it back 286 * in the response (if the snapshot is done) so you can check the snapshot 287 */ 288 message IsSnapshotDoneRequest { 289 optional SnapshotDescription snapshot = 1; 290 } 291 292 message IsSnapshotDoneResponse { 293 optional bool done = 1 [default = false]; 294 optional SnapshotDescription snapshot = 2; 295 } 296 297 message IsRestoreSnapshotDoneRequest { 298 optional SnapshotDescription snapshot = 1; 299 } 300 301 message IsRestoreSnapshotDoneResponse { 302 optional bool done = 1 [default = false]; 303 } 304 305 message GetSchemaAlterStatusRequest { 306 required TableName table_name = 1; 307 } 308 309 message GetSchemaAlterStatusResponse { 310 optional uint32 yet_to_update_regions = 1; 311 optional uint32 total_regions = 2; 312 } 313 314 message GetTableDescriptorsRequest { 315 repeated TableName table_names = 1; 316 } 317 318 message GetTableDescriptorsResponse { 319 repeated TableSchema table_schema = 1; 320 } 321 322 message GetTableNamesRequest { 323 } 324 325 message GetTableNamesResponse { 326 repeated TableName table_names = 1; 327 } 328 329 message GetClusterStatusRequest { 330 } 331 332 message GetClusterStatusResponse { 333 required ClusterStatus cluster_status = 1; 334 } 335 336 message IsMasterRunningRequest { 337 } 338 339 message IsMasterRunningResponse { 340 required bool is_master_running = 1; 341 } 342 343 message ExecProcedureRequest { 344 required ProcedureDescription procedure = 1; 345 } 346 347 message ExecProcedureResponse { 348 required int64 expected_timeout = 1; 349 } 350 351 message IsProcedureDoneRequest { 352 optional ProcedureDescription procedure = 1; 353 } 354 355 message IsProcedureDoneResponse { 356 optional bool done = 1 [default = false]; 357 optional ProcedureDescription snapshot = 2; 358 } 359 360 message TruncateTableRequest { 361 required TableName tableName = 1; 362 optional bool preserveSplits = 2 [default = false]; 363 } 364 365 message TruncateTableResponse { 366 } 367 368 service MasterService { 369 /** Used by the client to get the number of regions that have received the updated schema */ 370 rpc GetSchemaAlterStatus(GetSchemaAlterStatusRequest) 371 returns(GetSchemaAlterStatusResponse); 372 373 /** Get list of TableDescriptors for requested tables. */ 374 rpc GetTableDescriptors(GetTableDescriptorsRequest) 375 returns(GetTableDescriptorsResponse); 376 377 /** Get the list of table names. */ 378 rpc GetTableNames(GetTableNamesRequest) 379 returns(GetTableNamesResponse); 380 381 /** Return cluster status. */ 382 rpc GetClusterStatus(GetClusterStatusRequest) 383 returns(GetClusterStatusResponse); 384 385 /** return true if master is available */ 386 rpc IsMasterRunning(IsMasterRunningRequest) returns(IsMasterRunningResponse); 387 388 /** Adds a column to the specified table. */ 389 rpc AddColumn(AddColumnRequest) 390 returns(AddColumnResponse); 391 392 /** Deletes a column from the specified table. Table must be disabled. */ 393 rpc DeleteColumn(DeleteColumnRequest) 394 returns(DeleteColumnResponse); 395 396 /** Modifies an existing column on the specified table. */ 397 rpc ModifyColumn(ModifyColumnRequest) 398 returns(ModifyColumnResponse); 399 400 /** Move the region region to the destination server. */ 401 rpc MoveRegion(MoveRegionRequest) 402 returns(MoveRegionResponse); 403 404 /** Master dispatch merging the regions */ 405 rpc DispatchMergingRegions(DispatchMergingRegionsRequest) 406 returns(DispatchMergingRegionsResponse); 407 408 /** Assign a region to a server chosen at random. */ 409 rpc AssignRegion(AssignRegionRequest) 410 returns(AssignRegionResponse); 411 412 /** 413 * Unassign a region from current hosting regionserver. Region will then be 414 * assigned to a regionserver chosen at random. Region could be reassigned 415 * back to the same server. Use MoveRegion if you want 416 * to control the region movement. 417 */ 418 rpc UnassignRegion(UnassignRegionRequest) 419 returns(UnassignRegionResponse); 420 421 /** 422 * Offline a region from the assignment manager's in-memory state. The 423 * region should be in a closed state and there will be no attempt to 424 * automatically reassign the region as in unassign. This is a special 425 * method, and should only be used by experts or hbck. 426 */ 427 rpc OfflineRegion(OfflineRegionRequest) 428 returns(OfflineRegionResponse); 429 430 /** Deletes a table */ 431 rpc DeleteTable(DeleteTableRequest) 432 returns(DeleteTableResponse); 433 434 /** Puts the table on-line (only needed if table has been previously taken offline) */ 435 rpc EnableTable(EnableTableRequest) 436 returns(EnableTableResponse); 437 438 /** Take table offline */ 439 rpc DisableTable(DisableTableRequest) 440 returns(DisableTableResponse); 441 442 /** Modify a table's metadata */ 443 rpc ModifyTable(ModifyTableRequest) 444 returns(ModifyTableResponse); 445 446 /** Creates a new table asynchronously */ 447 rpc CreateTable(CreateTableRequest) 448 returns(CreateTableResponse); 449 450 /** Shutdown an HBase cluster. */ 451 rpc Shutdown(ShutdownRequest) 452 returns(ShutdownResponse); 453 454 /** Stop HBase Master only. Does not shutdown the cluster. */ 455 rpc StopMaster(StopMasterRequest) 456 returns(StopMasterResponse); 457 458 /** 459 * Run the balancer. Will run the balancer and if regions to move, it will 460 * go ahead and do the reassignments. Can NOT run for various reasons. 461 * Check logs. 462 */ 463 rpc Balance(BalanceRequest) 464 returns(BalanceResponse); 465 466 /** 467 * Turn the load balancer on or off. 468 * If synchronous is true, it waits until current balance() call, if outstanding, to return. 469 */ 470 rpc SetBalancerRunning(SetBalancerRunningRequest) 471 returns(SetBalancerRunningResponse); 472 473 /** 474 * Query whether the Region Balancer is running. 475 */ 476 rpc IsBalancerEnabled(IsBalancerEnabledRequest) 477 returns(IsBalancerEnabledResponse); 478 479 /** Get a run of the catalog janitor */ 480 rpc RunCatalogScan(RunCatalogScanRequest) 481 returns(RunCatalogScanResponse); 482 483 /** 484 * Enable the catalog janitor on or off. 485 */ 486 rpc EnableCatalogJanitor(EnableCatalogJanitorRequest) 487 returns(EnableCatalogJanitorResponse); 488 489 /** 490 * Query whether the catalog janitor is enabled. 491 */ 492 rpc IsCatalogJanitorEnabled(IsCatalogJanitorEnabledRequest) 493 returns(IsCatalogJanitorEnabledResponse); 494 495 /** 496 * Call a master coprocessor endpoint 497 */ 498 rpc ExecMasterService(CoprocessorServiceRequest) 499 returns(CoprocessorServiceResponse); 500 501 /** 502 * Create a snapshot for the given table. 503 */ 504 rpc Snapshot(SnapshotRequest) returns(SnapshotResponse); 505 506 /** 507 * Get completed snapshots. 508 * Returns a list of snapshot descriptors for completed snapshots 509 */ 510 rpc GetCompletedSnapshots(GetCompletedSnapshotsRequest) returns(GetCompletedSnapshotsResponse); 511 512 /** 513 * Delete an existing snapshot. This method can also be used to clean up an aborted snapshot. 514 */ 515 rpc DeleteSnapshot(DeleteSnapshotRequest) returns(DeleteSnapshotResponse); 516 517 /** 518 * Determine if the snapshot is done yet. 519 */ 520 rpc IsSnapshotDone(IsSnapshotDoneRequest) returns(IsSnapshotDoneResponse); 521 522 /** 523 * Restore a snapshot 524 */ 525 rpc RestoreSnapshot(RestoreSnapshotRequest) returns(RestoreSnapshotResponse); 526 527 /** 528 * Determine if the snapshot restore is done yet. 529 */ 530 rpc IsRestoreSnapshotDone(IsRestoreSnapshotDoneRequest) returns(IsRestoreSnapshotDoneResponse); 531 532 /** 533 * Execute a distributed procedure. 534 */ 535 rpc ExecProcedure(ExecProcedureRequest) returns(ExecProcedureResponse); 536 537 /** 538 * Determine if the procedure is done yet. 539 */ 540 rpc IsProcedureDone(IsProcedureDoneRequest) returns(IsProcedureDoneResponse); 541 542 /** return true if master is available */ 543 /** rpc IsMasterRunning(IsMasterRunningRequest) returns(IsMasterRunningResponse); */ 544 545 /** Modify a namespace's metadata */ 546 rpc ModifyNamespace(ModifyNamespaceRequest) 547 returns(ModifyNamespaceResponse); 548 549 /** Creates a new namespace synchronously */ 550 rpc CreateNamespace(CreateNamespaceRequest) 551 returns(CreateNamespaceResponse); 552 553 /** Deletes namespace synchronously */ 554 rpc DeleteNamespace(DeleteNamespaceRequest) 555 returns(DeleteNamespaceResponse); 556 557 /** Get a namespace descriptor by name */ 558 rpc GetNamespaceDescriptor(GetNamespaceDescriptorRequest) 559 returns(GetNamespaceDescriptorResponse); 560 561 /** returns a list of namespaces */ 562 rpc ListNamespaceDescriptors(ListNamespaceDescriptorsRequest) 563 returns(ListNamespaceDescriptorsResponse); 564 565 /** returns a list of tables for a given namespace*/ 566 rpc ListTableDescriptorsByNamespace(ListTableDescriptorsByNamespaceRequest) 567 returns(ListTableDescriptorsByNamespaceResponse); 568 569 /** returns a list of tables for a given namespace*/ 570 rpc ListTableNamesByNamespace(ListTableNamesByNamespaceRequest) 571 returns(ListTableNamesByNamespaceResponse); 572 573 /** Truncate a table */ 574 rpc truncateTable(TruncateTableRequest) 575 returns(TruncateTableResponse); 576 }