github.com/tsuna/gohbase@v0.0.0-20250731002811-4ffcadfba63e/pb/Master.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  // All to do with the Master.  Includes schema management since these
    20  // changes are run by the Master process.
    21  syntax = "proto2";
    22  package pb;
    23  
    24  option java_package = "org.apache.hadoop.hbase.protobuf.generated";
    25  option java_outer_classname = "MasterProtos";
    26  option java_generic_services = true;
    27  option java_generate_equals_and_hash = true;
    28  option optimize_for = SPEED;
    29  option go_package = "../pb";
    30  
    31  import "HBase.proto";
    32  import "Client.proto";
    33  import "ClusterStatus.proto";
    34  import "ErrorHandling.proto";
    35  import "Procedure.proto";
    36  import "Quota.proto";
    37  
    38  /* Column-level protobufs */
    39  
    40  message AddColumnRequest {
    41    required TableName table_name = 1;
    42    required ColumnFamilySchema column_families = 2;
    43    optional uint64 nonce_group = 3 [default = 0];
    44    optional uint64 nonce = 4 [default = 0];
    45  }
    46  
    47  message AddColumnResponse {
    48  }
    49  
    50  message DeleteColumnRequest {
    51    required TableName table_name = 1;
    52    required bytes column_name = 2;
    53    optional uint64 nonce_group = 3 [default = 0];
    54    optional uint64 nonce = 4 [default = 0];
    55  }
    56  
    57  message DeleteColumnResponse {
    58  }
    59  
    60  message ModifyColumnRequest {
    61    required TableName table_name = 1;
    62    required ColumnFamilySchema column_families = 2;
    63    optional uint64 nonce_group = 3 [default = 0];
    64    optional uint64 nonce = 4 [default = 0];
    65  }
    66  
    67  message ModifyColumnResponse {
    68  }
    69  
    70  /* Region-level Protos */
    71  
    72  message MoveRegionRequest {
    73    required RegionSpecifier region = 1;
    74    optional ServerName dest_server_name = 2;
    75  }
    76  
    77  message MoveRegionResponse {
    78  }
    79  
    80  /**
    81   * Dispatch merging the specified regions.
    82   */
    83  message DispatchMergingRegionsRequest {
    84    required RegionSpecifier region_a = 1;
    85    required RegionSpecifier region_b = 2;
    86    optional bool forcible = 3 [default = false];
    87  }
    88  
    89  message DispatchMergingRegionsResponse {
    90  }
    91  
    92  message AssignRegionRequest {
    93    required RegionSpecifier region = 1;
    94  }
    95  
    96  message AssignRegionResponse {
    97  }
    98  
    99  message UnassignRegionRequest {
   100    required RegionSpecifier region = 1;
   101    optional bool force = 2 [default = false];
   102  }
   103  
   104  message UnassignRegionResponse {
   105  }
   106  
   107  message OfflineRegionRequest {
   108    required RegionSpecifier region = 1;
   109  }
   110  
   111  message OfflineRegionResponse {
   112  }
   113  
   114  /* Table-level protobufs */
   115  
   116  message CreateTableRequest {
   117    required TableSchema table_schema = 1;
   118    repeated bytes split_keys = 2;
   119    optional uint64 nonce_group = 3 [default = 0];
   120    optional uint64 nonce = 4 [default = 0];
   121  }
   122  
   123  message CreateTableResponse {
   124    optional uint64 proc_id = 1;
   125  }
   126  
   127  message DeleteTableRequest {
   128    required TableName table_name = 1;
   129    optional uint64 nonce_group = 2 [default = 0];
   130    optional uint64 nonce = 3 [default = 0];
   131  }
   132  
   133  message DeleteTableResponse {
   134    optional uint64 proc_id = 1;
   135  }
   136  
   137  message TruncateTableRequest {
   138    required TableName tableName = 1;
   139    optional bool preserveSplits = 2 [default = false];
   140    optional uint64 nonce_group = 3 [default = 0];
   141    optional uint64 nonce = 4 [default = 0];
   142  }
   143  
   144  message TruncateTableResponse {
   145  }
   146  
   147  message EnableTableRequest {
   148    required TableName table_name = 1;
   149    optional uint64 nonce_group = 2 [default = 0];
   150    optional uint64 nonce = 3 [default = 0];
   151  }
   152  
   153  message EnableTableResponse {
   154    optional uint64 proc_id = 1;
   155  }
   156  
   157  message DisableTableRequest {
   158    required TableName table_name = 1;
   159    optional uint64 nonce_group = 2 [default = 0];
   160    optional uint64 nonce = 3 [default = 0];
   161  }
   162  
   163  message DisableTableResponse {
   164    optional uint64 proc_id = 1;
   165  }
   166  
   167  message ModifyTableRequest {
   168    required TableName table_name = 1;
   169    required TableSchema table_schema = 2;
   170    optional uint64 nonce_group = 3 [default = 0];
   171    optional uint64 nonce = 4 [default = 0];
   172  }
   173  
   174  message ModifyTableResponse {
   175  }
   176  
   177  /* Namespace-level protobufs */
   178  
   179  message CreateNamespaceRequest {
   180    required NamespaceDescriptor namespaceDescriptor = 1;
   181    optional uint64 nonce_group = 2 [default = 0];
   182    optional uint64 nonce = 3 [default = 0];
   183  }
   184  
   185  message CreateNamespaceResponse {
   186  }
   187  
   188  message DeleteNamespaceRequest {
   189    required string namespaceName = 1;
   190    optional uint64 nonce_group = 2 [default = 0];
   191    optional uint64 nonce = 3 [default = 0];
   192  }
   193  
   194  message DeleteNamespaceResponse {
   195  }
   196  
   197  message ModifyNamespaceRequest {
   198    required NamespaceDescriptor namespaceDescriptor = 1;
   199    optional uint64 nonce_group = 2 [default = 0];
   200    optional uint64 nonce = 3 [default = 0];
   201  }
   202  
   203  message ModifyNamespaceResponse {
   204  }
   205  
   206  message GetNamespaceDescriptorRequest {
   207    required string namespaceName = 1;
   208  }
   209  
   210  message GetNamespaceDescriptorResponse {
   211    required NamespaceDescriptor namespaceDescriptor = 1;
   212  }
   213  
   214  message ListNamespaceDescriptorsRequest {
   215  }
   216  
   217  message ListNamespaceDescriptorsResponse {
   218    repeated NamespaceDescriptor namespaceDescriptor = 1;
   219  }
   220  
   221  message ListTableDescriptorsByNamespaceRequest {
   222    required string namespaceName = 1;
   223  }
   224  
   225  message ListTableDescriptorsByNamespaceResponse {
   226    repeated TableSchema tableSchema = 1;
   227  }
   228  
   229  message ListTableNamesByNamespaceRequest {
   230    required string namespaceName = 1;
   231  }
   232  
   233  message ListTableNamesByNamespaceResponse {
   234    repeated TableName tableName = 1;
   235  }
   236  
   237  /* Cluster-level protobufs */
   238  
   239  
   240  message ShutdownRequest {
   241  }
   242  
   243  message ShutdownResponse {
   244  }
   245  
   246  message StopMasterRequest {
   247  }
   248  
   249  message StopMasterResponse {
   250  }
   251  
   252  message BalanceRequest {
   253    optional bool force = 1;
   254  }
   255  
   256  message BalanceResponse {
   257    required bool balancer_ran = 1;
   258  }
   259  
   260  message SetBalancerRunningRequest {
   261    required bool on = 1;
   262    optional bool synchronous = 2;
   263  }
   264  
   265  message SetBalancerRunningResponse {
   266    optional bool prev_balance_value = 1;
   267  }
   268  
   269  message IsBalancerEnabledRequest {
   270  }
   271  
   272  message IsBalancerEnabledResponse {
   273    required bool enabled = 1;
   274  }
   275  
   276  enum MasterSwitchType {
   277    SPLIT = 0;
   278    MERGE = 1;
   279  }
   280  
   281  message SetSplitOrMergeEnabledRequest {
   282    required bool enabled = 1;
   283    optional bool synchronous = 2;
   284    repeated MasterSwitchType switch_types = 3;
   285  }
   286  
   287  message SetSplitOrMergeEnabledResponse {
   288    repeated bool prev_value = 1;
   289  }
   290  
   291  message IsSplitOrMergeEnabledRequest {
   292    required MasterSwitchType switch_type = 1;
   293  }
   294  
   295  message IsSplitOrMergeEnabledResponse {
   296    required bool enabled = 1;
   297  }
   298  
   299  message NormalizeRequest {
   300  }
   301  
   302  message NormalizeResponse {
   303    required bool normalizer_ran = 1;
   304  }
   305  
   306  message SetNormalizerRunningRequest {
   307    required bool on = 1;
   308  }
   309  
   310  message SetNormalizerRunningResponse {
   311    optional bool prev_normalizer_value = 1;
   312  }
   313  
   314  message IsNormalizerEnabledRequest {
   315  }
   316  
   317  message IsNormalizerEnabledResponse {
   318    required bool enabled = 1;
   319  }
   320  
   321  message RunCatalogScanRequest {
   322  }
   323  
   324  message RunCatalogScanResponse {
   325    optional int32 scan_result = 1;
   326  }
   327  
   328  message EnableCatalogJanitorRequest {
   329    required bool enable = 1;
   330  }
   331  
   332  message EnableCatalogJanitorResponse {
   333    optional bool prev_value = 1;
   334  }
   335  
   336  message IsCatalogJanitorEnabledRequest {
   337  }
   338  
   339  message IsCatalogJanitorEnabledResponse {
   340    required bool value = 1;
   341  }
   342  
   343  message SnapshotRequest {
   344  	required SnapshotDescription snapshot = 1;
   345  }
   346  
   347  message SnapshotResponse {
   348  	required int64 expected_timeout = 1;
   349  }
   350  
   351  message GetCompletedSnapshotsRequest {
   352  }
   353  
   354  message GetCompletedSnapshotsResponse {
   355  	repeated SnapshotDescription snapshots = 1;
   356  }
   357  
   358  message DeleteSnapshotRequest {
   359  	required SnapshotDescription snapshot = 1;
   360  }
   361  
   362  message DeleteSnapshotResponse {
   363  }
   364  
   365  message RestoreSnapshotRequest {
   366    required SnapshotDescription snapshot = 1;
   367  }
   368  
   369  message RestoreSnapshotResponse {
   370  }
   371  
   372  /* if you don't send the snapshot, then you will get it back
   373   * in the response (if the snapshot is done) so you can check the snapshot
   374   */
   375  message IsSnapshotDoneRequest {
   376  	optional SnapshotDescription snapshot = 1;
   377  }
   378  
   379  message IsSnapshotDoneResponse {
   380  	optional bool done = 1 [default = false];
   381  	optional SnapshotDescription snapshot = 2;
   382  }
   383  
   384  message IsRestoreSnapshotDoneRequest {
   385    optional SnapshotDescription snapshot = 1;
   386  }
   387  
   388  message IsRestoreSnapshotDoneResponse {
   389    optional bool done = 1 [default = false];
   390  }
   391  
   392  message GetSchemaAlterStatusRequest {
   393    required TableName table_name = 1;
   394  }
   395  
   396  message GetSchemaAlterStatusResponse {
   397    optional uint32 yet_to_update_regions = 1;
   398    optional uint32 total_regions = 2;
   399  }
   400  
   401  message GetTableDescriptorsRequest {
   402    repeated TableName table_names = 1;
   403    optional string regex = 2;
   404    optional bool include_sys_tables = 3 [default=false];
   405    optional string namespace = 4;
   406  }
   407  
   408  message GetTableDescriptorsResponse {
   409    repeated TableSchema table_schema = 1;
   410  }
   411  
   412  message GetTableNamesRequest {
   413    optional string regex = 1;
   414    optional bool include_sys_tables = 2 [default=false];
   415    optional string namespace = 3;
   416  }
   417  
   418  message GetTableNamesResponse {
   419    repeated TableName table_names = 1;
   420  }
   421  
   422  message GetClusterStatusRequest {
   423  }
   424  
   425  message GetClusterStatusResponse {
   426    required ClusterStatus cluster_status = 1;
   427  }
   428  
   429  message IsMasterRunningRequest {
   430  }
   431  
   432  message IsMasterRunningResponse {
   433    required bool is_master_running = 1;
   434  }
   435  
   436  message ExecProcedureRequest {
   437    required ProcedureDescription procedure = 1;
   438  }
   439  
   440  message ExecProcedureResponse {
   441    optional int64 expected_timeout = 1;
   442    optional bytes return_data = 2;
   443  }
   444  
   445  message IsProcedureDoneRequest {
   446    optional ProcedureDescription procedure = 1;
   447  }
   448  
   449  message IsProcedureDoneResponse {
   450    optional bool done = 1 [default = false];
   451    optional ProcedureDescription snapshot = 2;
   452  }
   453  
   454  message GetProcedureResultRequest {
   455    required uint64 proc_id = 1;
   456  }
   457  
   458  message GetProcedureResultResponse {
   459    enum State {
   460      NOT_FOUND = 0;
   461      RUNNING = 1;
   462      FINISHED = 2;
   463    }
   464  
   465    required State state = 1;
   466    optional uint64 start_time = 2;
   467    optional uint64 last_update = 3;
   468    optional bytes result = 4;
   469    optional ForeignExceptionMessage exception = 5;
   470  }
   471  
   472  message AbortProcedureRequest {
   473    required uint64 proc_id = 1;
   474    optional bool mayInterruptIfRunning = 2 [default = true];
   475  }
   476  
   477  message AbortProcedureResponse {
   478    required bool is_procedure_aborted = 1;
   479  }
   480  
   481  message ListProceduresRequest {
   482  }
   483  
   484  message ListProceduresResponse {
   485    repeated Procedure procedure = 1;
   486  }
   487  
   488  message SetQuotaRequest {
   489    optional string user_name = 1;
   490    optional string user_group = 2;
   491    optional string namespace = 3;
   492    optional TableName table_name = 4;
   493  
   494    optional bool remove_all = 5;
   495    optional bool bypass_globals = 6;
   496    optional ThrottleRequest throttle = 7;
   497  }
   498  
   499  message SetQuotaResponse {
   500  }
   501  
   502  message MajorCompactionTimestampRequest {
   503    required TableName table_name = 1;
   504  }
   505  
   506  message MajorCompactionTimestampForRegionRequest {
   507    required RegionSpecifier region = 1;
   508  }
   509  
   510  message MajorCompactionTimestampResponse {
   511    required int64 compaction_timestamp = 1;
   512  }
   513  
   514  message SecurityCapabilitiesRequest {
   515  }
   516  
   517  message SecurityCapabilitiesResponse {
   518    enum Capability {
   519      SIMPLE_AUTHENTICATION = 0;
   520      SECURE_AUTHENTICATION = 1;
   521      AUTHORIZATION = 2;
   522      CELL_AUTHORIZATION = 3;
   523      CELL_VISIBILITY = 4;
   524    }
   525  
   526    repeated Capability capabilities = 1;
   527  }
   528  
   529  service MasterService {
   530    /** Used by the client to get the number of regions that have received the updated schema */
   531    rpc GetSchemaAlterStatus(GetSchemaAlterStatusRequest)
   532      returns(GetSchemaAlterStatusResponse);
   533  
   534    /** Get list of TableDescriptors for requested tables. */
   535    rpc GetTableDescriptors(GetTableDescriptorsRequest)
   536      returns(GetTableDescriptorsResponse);
   537  
   538    /** Get the list of table names. */
   539    rpc GetTableNames(GetTableNamesRequest)
   540      returns(GetTableNamesResponse);
   541  
   542    /** Return cluster status. */
   543    rpc GetClusterStatus(GetClusterStatusRequest)
   544      returns(GetClusterStatusResponse);
   545  
   546    /** return true if master is available */
   547    rpc IsMasterRunning(IsMasterRunningRequest) returns(IsMasterRunningResponse);
   548  
   549    /** Adds a column to the specified table. */
   550    rpc AddColumn(AddColumnRequest)
   551      returns(AddColumnResponse);
   552  
   553    /** Deletes a column from the specified table. Table must be disabled. */
   554    rpc DeleteColumn(DeleteColumnRequest)
   555      returns(DeleteColumnResponse);
   556  
   557    /** Modifies an existing column on the specified table. */
   558    rpc ModifyColumn(ModifyColumnRequest)
   559      returns(ModifyColumnResponse);
   560  
   561    /** Move the region region to the destination server. */
   562    rpc MoveRegion(MoveRegionRequest)
   563      returns(MoveRegionResponse);
   564  
   565   /** Master dispatch merging the regions */
   566    rpc DispatchMergingRegions(DispatchMergingRegionsRequest)
   567      returns(DispatchMergingRegionsResponse);
   568  
   569    /** Assign a region to a server chosen at random. */
   570    rpc AssignRegion(AssignRegionRequest)
   571      returns(AssignRegionResponse);
   572  
   573    /**
   574     * Unassign a region from current hosting regionserver.  Region will then be
   575     * assigned to a regionserver chosen at random.  Region could be reassigned
   576     * back to the same server.  Use MoveRegion if you want
   577     * to control the region movement.
   578     */
   579    rpc UnassignRegion(UnassignRegionRequest)
   580      returns(UnassignRegionResponse);
   581  
   582    /**
   583     * Offline a region from the assignment manager's in-memory state.  The
   584     * region should be in a closed state and there will be no attempt to
   585     * automatically reassign the region as in unassign.   This is a special
   586     * method, and should only be used by experts or hbck.
   587     */
   588    rpc OfflineRegion(OfflineRegionRequest)
   589      returns(OfflineRegionResponse);
   590  
   591    /** Deletes a table */
   592    rpc DeleteTable(DeleteTableRequest)
   593      returns(DeleteTableResponse);
   594  
   595    /** Truncate a table */
   596    rpc truncateTable(TruncateTableRequest)
   597      returns(TruncateTableResponse);
   598  
   599    /** Puts the table on-line (only needed if table has been previously taken offline) */
   600    rpc EnableTable(EnableTableRequest)
   601      returns(EnableTableResponse);
   602  
   603    /** Take table offline */
   604    rpc DisableTable(DisableTableRequest)
   605      returns(DisableTableResponse);
   606  
   607    /** Modify a table's metadata */
   608    rpc ModifyTable(ModifyTableRequest)
   609      returns(ModifyTableResponse);
   610  
   611    /** Creates a new table asynchronously */
   612    rpc CreateTable(CreateTableRequest)
   613      returns(CreateTableResponse);
   614  
   615      /** Shutdown an HBase cluster. */
   616    rpc Shutdown(ShutdownRequest)
   617      returns(ShutdownResponse);
   618  
   619    /** Stop HBase Master only.  Does not shutdown the cluster. */
   620    rpc StopMaster(StopMasterRequest)
   621      returns(StopMasterResponse);
   622  
   623    /**
   624     * Run the balancer.  Will run the balancer and if regions to move, it will
   625     * go ahead and do the reassignments.  Can NOT run for various reasons.
   626     * Check logs.
   627     */
   628    rpc Balance(BalanceRequest)
   629      returns(BalanceResponse);
   630  
   631    /**
   632     * Turn the load balancer on or off.
   633     * If synchronous is true, it waits until current balance() call, if outstanding, to return.
   634     */
   635    rpc SetBalancerRunning(SetBalancerRunningRequest)
   636      returns(SetBalancerRunningResponse);
   637  
   638    /**
   639     * Query whether the Region Balancer is running.
   640     */
   641    rpc IsBalancerEnabled(IsBalancerEnabledRequest)
   642      returns(IsBalancerEnabledResponse);
   643  
   644    /**
   645     * Turn the split or merge switch on or off.
   646     * If synchronous is true, it waits until current operation call, if outstanding, to return.
   647     */
   648    rpc SetSplitOrMergeEnabled(SetSplitOrMergeEnabledRequest)
   649      returns(SetSplitOrMergeEnabledResponse);
   650  
   651    /**
   652     * Query whether the split or merge switch is on/off.
   653     */
   654    rpc IsSplitOrMergeEnabled(IsSplitOrMergeEnabledRequest)
   655      returns(IsSplitOrMergeEnabledResponse);
   656  
   657    /**
   658     * Run region normalizer. Can NOT run for various reasons. Check logs.
   659     */
   660    rpc Normalize(NormalizeRequest)
   661    returns(NormalizeResponse);
   662  
   663    /**
   664     * Turn region normalizer on or off.
   665     */
   666    rpc SetNormalizerRunning(SetNormalizerRunningRequest)
   667    returns(SetNormalizerRunningResponse);
   668  
   669    /**
   670     * Query whether region normalizer is enabled.
   671     */
   672    rpc IsNormalizerEnabled(IsNormalizerEnabledRequest)
   673    returns(IsNormalizerEnabledResponse);
   674  
   675    /** Get a run of the catalog janitor */
   676    rpc RunCatalogScan(RunCatalogScanRequest)
   677       returns(RunCatalogScanResponse);
   678  
   679    /**
   680     * Enable the catalog janitor on or off.
   681     */
   682    rpc EnableCatalogJanitor(EnableCatalogJanitorRequest)
   683       returns(EnableCatalogJanitorResponse);
   684  
   685    /**
   686     * Query whether the catalog janitor is enabled.
   687     */
   688    rpc IsCatalogJanitorEnabled(IsCatalogJanitorEnabledRequest)
   689       returns(IsCatalogJanitorEnabledResponse);
   690  
   691    /**
   692     * Call a master coprocessor endpoint
   693     */
   694    rpc ExecMasterService(CoprocessorServiceRequest)
   695      returns(CoprocessorServiceResponse);
   696  
   697    /**
   698     * Create a snapshot for the given table.
   699     */
   700    rpc Snapshot(SnapshotRequest) returns(SnapshotResponse);
   701  
   702    /**
   703     * Get completed snapshots.
   704     * Returns a list of snapshot descriptors for completed snapshots
   705     */
   706    rpc GetCompletedSnapshots(GetCompletedSnapshotsRequest) returns(GetCompletedSnapshotsResponse);
   707  
   708    /**
   709     * Delete an existing snapshot. This method can also be used to clean up an aborted snapshot.
   710     */
   711    rpc DeleteSnapshot(DeleteSnapshotRequest) returns(DeleteSnapshotResponse);
   712  
   713    /**
   714     * Determine if the snapshot is done yet.
   715     */
   716    rpc IsSnapshotDone(IsSnapshotDoneRequest) returns(IsSnapshotDoneResponse);
   717  
   718    /**
   719     * Restore a snapshot
   720     */
   721    rpc RestoreSnapshot(RestoreSnapshotRequest) returns(RestoreSnapshotResponse);
   722  
   723    /**
   724     * Determine if the snapshot restore is done yet.
   725     */
   726    rpc IsRestoreSnapshotDone(IsRestoreSnapshotDoneRequest) returns(IsRestoreSnapshotDoneResponse);
   727  
   728    /**
   729     * Execute a distributed procedure.
   730     */
   731    rpc ExecProcedure(ExecProcedureRequest) returns(ExecProcedureResponse);
   732  
   733    /**
   734     * Execute a distributed procedure with return data.
   735     */
   736    rpc ExecProcedureWithRet(ExecProcedureRequest) returns(ExecProcedureResponse);
   737  
   738    /**
   739     * Determine if the procedure is done yet.
   740     */
   741    rpc IsProcedureDone(IsProcedureDoneRequest) returns(IsProcedureDoneResponse);
   742  
   743    /** return true if master is available */
   744    /** rpc IsMasterRunning(IsMasterRunningRequest) returns(IsMasterRunningResponse); */
   745  
   746    /** Modify a namespace's metadata */
   747    rpc ModifyNamespace(ModifyNamespaceRequest)
   748      returns(ModifyNamespaceResponse);
   749  
   750    /** Creates a new namespace synchronously */
   751    rpc CreateNamespace(CreateNamespaceRequest)
   752      returns(CreateNamespaceResponse);
   753  
   754    /** Deletes namespace synchronously */
   755    rpc DeleteNamespace(DeleteNamespaceRequest)
   756      returns(DeleteNamespaceResponse);
   757  
   758    /** Get a namespace descriptor by name */
   759    rpc GetNamespaceDescriptor(GetNamespaceDescriptorRequest)
   760      returns(GetNamespaceDescriptorResponse);
   761  
   762    /** returns a list of namespaces */
   763    rpc ListNamespaceDescriptors(ListNamespaceDescriptorsRequest)
   764      returns(ListNamespaceDescriptorsResponse);
   765  
   766    /** returns a list of tables for a given namespace*/
   767    rpc ListTableDescriptorsByNamespace(ListTableDescriptorsByNamespaceRequest)
   768      returns(ListTableDescriptorsByNamespaceResponse);
   769  
   770    /** returns a list of tables for a given namespace*/
   771    rpc ListTableNamesByNamespace(ListTableNamesByNamespaceRequest)
   772      returns(ListTableNamesByNamespaceResponse);
   773  
   774    /** Apply the new quota settings */
   775    rpc SetQuota(SetQuotaRequest) returns(SetQuotaResponse);
   776  
   777    /** Returns the timestamp of the last major compaction */
   778    rpc getLastMajorCompactionTimestamp(MajorCompactionTimestampRequest)
   779      returns(MajorCompactionTimestampResponse);
   780  
   781    /** Returns the timestamp of the last major compaction */
   782    rpc getLastMajorCompactionTimestampForRegion(MajorCompactionTimestampForRegionRequest)
   783      returns(MajorCompactionTimestampResponse);
   784  
   785    rpc getProcedureResult(GetProcedureResultRequest)
   786      returns(GetProcedureResultResponse);
   787  
   788    /** Returns the security capabilities in effect on the cluster */
   789    rpc getSecurityCapabilities(SecurityCapabilitiesRequest)
   790      returns(SecurityCapabilitiesResponse);
   791  
   792    /** Abort a procedure */
   793    rpc AbortProcedure(AbortProcedureRequest)
   794      returns(AbortProcedureResponse);
   795  
   796    /** returns a list of procedures */
   797    rpc ListProcedures(ListProceduresRequest)
   798      returns(ListProceduresResponse);
   799  }