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
10 * http://www.apache.org/licenses/LICENSE-2.0
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.
18 package org
.apache
.hadoop
.hbase
.client
;
20 import java
.util
.EnumSet
;
21 import java
.util
.List
;
23 import java
.util
.Optional
;
25 import java
.util
.concurrent
.CompletableFuture
;
26 import java
.util
.concurrent
.ExecutorService
;
27 import java
.util
.function
.Function
;
28 import java
.util
.regex
.Pattern
;
29 import org
.apache
.hadoop
.hbase
.CacheEvictionStats
;
30 import org
.apache
.hadoop
.hbase
.ClusterMetrics
;
31 import org
.apache
.hadoop
.hbase
.ClusterMetrics
.Option
;
32 import org
.apache
.hadoop
.hbase
.NamespaceDescriptor
;
33 import org
.apache
.hadoop
.hbase
.RegionMetrics
;
34 import org
.apache
.hadoop
.hbase
.ServerName
;
35 import org
.apache
.hadoop
.hbase
.TableName
;
36 import org
.apache
.hadoop
.hbase
.client
.replication
.TableCFs
;
37 import org
.apache
.hadoop
.hbase
.client
.security
.SecurityCapability
;
38 import org
.apache
.hadoop
.hbase
.net
.Address
;
39 import org
.apache
.hadoop
.hbase
.quotas
.QuotaFilter
;
40 import org
.apache
.hadoop
.hbase
.quotas
.QuotaSettings
;
41 import org
.apache
.hadoop
.hbase
.quotas
.SpaceQuotaSnapshot
;
42 import org
.apache
.hadoop
.hbase
.replication
.ReplicationPeerConfig
;
43 import org
.apache
.hadoop
.hbase
.replication
.ReplicationPeerDescription
;
44 import org
.apache
.hadoop
.hbase
.replication
.SyncReplicationState
;
45 import org
.apache
.hadoop
.hbase
.rsgroup
.RSGroupInfo
;
46 import org
.apache
.hadoop
.hbase
.security
.access
.GetUserPermissionsRequest
;
47 import org
.apache
.hadoop
.hbase
.security
.access
.Permission
;
48 import org
.apache
.hadoop
.hbase
.security
.access
.UserPermission
;
49 import org
.apache
.hadoop
.hbase
.util
.FutureUtils
;
50 import org
.apache
.hadoop
.hbase
.util
.Pair
;
51 import org
.apache
.yetus
.audience
.InterfaceAudience
;
53 import org
.apache
.hbase
.thirdparty
.com
.google
.protobuf
.RpcChannel
;
56 * Just a wrapper of {@link RawAsyncHBaseAdmin}. The difference is that users need to provide a
57 * thread pool when constructing this class, and the callback methods registered to the returned
58 * {@link CompletableFuture} will be executed in this thread pool. So usually it is safe for users
59 * to do anything they want in the callbacks without breaking the rpc framework.
61 * @see RawAsyncHBaseAdmin
62 * @see AsyncConnection#getAdmin(ExecutorService)
63 * @see AsyncConnection#getAdminBuilder(ExecutorService)
65 @InterfaceAudience.Private
66 class AsyncHBaseAdmin
implements AsyncAdmin
{
68 private final RawAsyncHBaseAdmin rawAdmin
;
70 private final ExecutorService pool
;
72 AsyncHBaseAdmin(RawAsyncHBaseAdmin rawAdmin
, ExecutorService pool
) {
73 this.rawAdmin
= rawAdmin
;
77 private <T
> CompletableFuture
<T
> wrap(CompletableFuture
<T
> future
) {
78 return FutureUtils
.wrapFuture(future
, pool
);
82 public CompletableFuture
<Boolean
> tableExists(TableName tableName
) {
83 return wrap(rawAdmin
.tableExists(tableName
));
87 public CompletableFuture
<List
<TableDescriptor
>> listTableDescriptors(boolean includeSysTables
) {
88 return wrap(rawAdmin
.listTableDescriptors(includeSysTables
));
92 public CompletableFuture
<List
<TableDescriptor
>> listTableDescriptors(Pattern pattern
,
93 boolean includeSysTables
) {
94 return wrap(rawAdmin
.listTableDescriptors(pattern
, includeSysTables
));
98 public CompletableFuture
<List
<TableDescriptor
>> listTableDescriptors(List
<TableName
> tableNames
) {
99 return wrap(rawAdmin
.listTableDescriptors(tableNames
));
103 public CompletableFuture
<List
<TableDescriptor
>> listTableDescriptorsByNamespace(String name
) {
104 return wrap(rawAdmin
.listTableDescriptorsByNamespace(name
));
108 public CompletableFuture
<List
<TableName
>> listTableNames(boolean includeSysTables
) {
109 return wrap(rawAdmin
.listTableNames(includeSysTables
));
113 public CompletableFuture
<List
<TableName
>> listTableNames(Pattern pattern
,
114 boolean includeSysTables
) {
115 return wrap(rawAdmin
.listTableNames(pattern
, includeSysTables
));
119 public CompletableFuture
<List
<TableName
>> listTableNamesByNamespace(String name
) {
120 return wrap(rawAdmin
.listTableNamesByNamespace(name
));
124 public CompletableFuture
<TableDescriptor
> getDescriptor(TableName tableName
) {
125 return wrap(rawAdmin
.getDescriptor(tableName
));
129 public CompletableFuture
<Void
> createTable(TableDescriptor desc
) {
130 return wrap(rawAdmin
.createTable(desc
));
134 public CompletableFuture
<Void
> createTable(TableDescriptor desc
, byte[] startKey
, byte[] endKey
,
136 return wrap(rawAdmin
.createTable(desc
, startKey
, endKey
, numRegions
));
140 public CompletableFuture
<Void
> createTable(TableDescriptor desc
, byte[][] splitKeys
) {
141 return wrap(rawAdmin
.createTable(desc
, splitKeys
));
145 public CompletableFuture
<Void
> modifyTable(TableDescriptor desc
) {
146 return wrap(rawAdmin
.modifyTable(desc
));
150 public CompletableFuture
<Void
> deleteTable(TableName tableName
) {
151 return wrap(rawAdmin
.deleteTable(tableName
));
155 public CompletableFuture
<Void
> truncateTable(TableName tableName
, boolean preserveSplits
) {
156 return wrap(rawAdmin
.truncateTable(tableName
, preserveSplits
));
160 public CompletableFuture
<Void
> enableTable(TableName tableName
) {
161 return wrap(rawAdmin
.enableTable(tableName
));
165 public CompletableFuture
<Void
> disableTable(TableName tableName
) {
166 return wrap(rawAdmin
.disableTable(tableName
));
170 public CompletableFuture
<Boolean
> isTableEnabled(TableName tableName
) {
171 return wrap(rawAdmin
.isTableEnabled(tableName
));
175 public CompletableFuture
<Boolean
> isTableDisabled(TableName tableName
) {
176 return wrap(rawAdmin
.isTableDisabled(tableName
));
180 public CompletableFuture
<Boolean
> isTableAvailable(TableName tableName
) {
181 return wrap(rawAdmin
.isTableAvailable(tableName
));
185 public CompletableFuture
<Void
> addColumnFamily(TableName tableName
,
186 ColumnFamilyDescriptor columnFamily
) {
187 return wrap(rawAdmin
.addColumnFamily(tableName
, columnFamily
));
191 public CompletableFuture
<Void
> deleteColumnFamily(TableName tableName
, byte[] columnFamily
) {
192 return wrap(rawAdmin
.deleteColumnFamily(tableName
, columnFamily
));
196 public CompletableFuture
<Void
> modifyColumnFamily(TableName tableName
,
197 ColumnFamilyDescriptor columnFamily
) {
198 return wrap(rawAdmin
.modifyColumnFamily(tableName
, columnFamily
));
202 public CompletableFuture
<Void
> createNamespace(NamespaceDescriptor descriptor
) {
203 return wrap(rawAdmin
.createNamespace(descriptor
));
207 public CompletableFuture
<Void
> modifyNamespace(NamespaceDescriptor descriptor
) {
208 return wrap(rawAdmin
.modifyNamespace(descriptor
));
212 public CompletableFuture
<Void
> deleteNamespace(String name
) {
213 return wrap(rawAdmin
.deleteNamespace(name
));
217 public CompletableFuture
<NamespaceDescriptor
> getNamespaceDescriptor(String name
) {
218 return wrap(rawAdmin
.getNamespaceDescriptor(name
));
222 public CompletableFuture
<List
<String
>> listNamespaces() {
223 return wrap(rawAdmin
.listNamespaces());
227 public CompletableFuture
<List
<NamespaceDescriptor
>> listNamespaceDescriptors() {
228 return wrap(rawAdmin
.listNamespaceDescriptors());
232 public CompletableFuture
<List
<RegionInfo
>> getRegions(ServerName serverName
) {
233 return wrap(rawAdmin
.getRegions(serverName
));
237 public CompletableFuture
<List
<RegionInfo
>> getRegions(TableName tableName
) {
238 return wrap(rawAdmin
.getRegions(tableName
));
242 public CompletableFuture
<Void
> flush(TableName tableName
) {
243 return wrap(rawAdmin
.flush(tableName
));
247 public CompletableFuture
<Void
> flush(TableName tableName
, byte[] columnFamily
) {
248 return wrap(rawAdmin
.flush(tableName
, columnFamily
));
252 public CompletableFuture
<Void
> flushRegion(byte[] regionName
) {
253 return wrap(rawAdmin
.flushRegion(regionName
));
257 public CompletableFuture
<Void
> flushRegion(byte[] regionName
, byte[] columnFamily
) {
258 return wrap(rawAdmin
.flushRegion(regionName
, columnFamily
));
262 public CompletableFuture
<Void
> flushRegionServer(ServerName sn
) {
263 return wrap(rawAdmin
.flushRegionServer(sn
));
267 public CompletableFuture
<Void
> compact(TableName tableName
,
268 CompactType compactType
) {
269 return wrap(rawAdmin
.compact(tableName
, compactType
));
273 public CompletableFuture
<Void
> compact(TableName tableName
,
274 byte[] columnFamily
, CompactType compactType
) {
275 return wrap(rawAdmin
.compact(tableName
, columnFamily
, compactType
));
279 public CompletableFuture
<Void
> compactRegion(byte[] regionName
) {
280 return wrap(rawAdmin
.compactRegion(regionName
));
284 public CompletableFuture
<Void
> compactRegion(byte[] regionName
, byte[] columnFamily
) {
285 return wrap(rawAdmin
.compactRegion(regionName
, columnFamily
));
289 public CompletableFuture
<Void
> majorCompact(TableName tableName
, CompactType compactType
) {
290 return wrap(rawAdmin
.majorCompact(tableName
, compactType
));
294 public CompletableFuture
<Void
> majorCompact(TableName tableName
, byte[] columnFamily
,
295 CompactType compactType
) {
296 return wrap(rawAdmin
.majorCompact(tableName
, columnFamily
, compactType
));
300 public CompletableFuture
<Void
> majorCompactRegion(byte[] regionName
) {
301 return wrap(rawAdmin
.majorCompactRegion(regionName
));
305 public CompletableFuture
<Void
> majorCompactRegion(byte[] regionName
, byte[] columnFamily
) {
306 return wrap(rawAdmin
.majorCompactRegion(regionName
, columnFamily
));
310 public CompletableFuture
<Void
> compactRegionServer(ServerName serverName
) {
311 return wrap(rawAdmin
.compactRegionServer(serverName
));
315 public CompletableFuture
<Void
> majorCompactRegionServer(ServerName serverName
) {
316 return wrap(rawAdmin
.majorCompactRegionServer(serverName
));
320 public CompletableFuture
<Boolean
> mergeSwitch(boolean enabled
, boolean drainMerges
) {
321 return wrap(rawAdmin
.mergeSwitch(enabled
, drainMerges
));
325 public CompletableFuture
<Boolean
> isMergeEnabled() {
326 return wrap(rawAdmin
.isMergeEnabled());
330 public CompletableFuture
<Boolean
> splitSwitch(boolean enabled
, boolean drainSplits
) {
331 return wrap(rawAdmin
.splitSwitch(enabled
, drainSplits
));
335 public CompletableFuture
<Boolean
> isSplitEnabled() {
336 return wrap(rawAdmin
.isSplitEnabled());
340 public CompletableFuture
<Void
> mergeRegions(List
<byte[]> nameOfRegionsToMerge
, boolean forcible
) {
341 return wrap(rawAdmin
.mergeRegions(nameOfRegionsToMerge
, forcible
));
345 public CompletableFuture
<Void
> split(TableName tableName
) {
346 return wrap(rawAdmin
.split(tableName
));
350 public CompletableFuture
<Void
> split(TableName tableName
, byte[] splitPoint
) {
351 return wrap(rawAdmin
.split(tableName
, splitPoint
));
355 public CompletableFuture
<Void
> splitRegion(byte[] regionName
) {
356 return wrap(rawAdmin
.splitRegion(regionName
));
360 public CompletableFuture
<Void
> splitRegion(byte[] regionName
, byte[] splitPoint
) {
361 return wrap(rawAdmin
.splitRegion(regionName
, splitPoint
));
365 public CompletableFuture
<Void
> assign(byte[] regionName
) {
366 return wrap(rawAdmin
.assign(regionName
));
370 public CompletableFuture
<Void
> unassign(byte[] regionName
) {
371 return wrap(rawAdmin
.unassign(regionName
));
375 public CompletableFuture
<Void
> offline(byte[] regionName
) {
376 return wrap(rawAdmin
.offline(regionName
));
380 public CompletableFuture
<Void
> move(byte[] regionName
) {
381 return wrap(rawAdmin
.move(regionName
));
385 public CompletableFuture
<Void
> move(byte[] regionName
, ServerName destServerName
) {
386 return wrap(rawAdmin
.move(regionName
, destServerName
));
390 public CompletableFuture
<Void
> setQuota(QuotaSettings quota
) {
391 return wrap(rawAdmin
.setQuota(quota
));
395 public CompletableFuture
<List
<QuotaSettings
>> getQuota(QuotaFilter filter
) {
396 return wrap(rawAdmin
.getQuota(filter
));
400 public CompletableFuture
<Void
> addReplicationPeer(String peerId
,
401 ReplicationPeerConfig peerConfig
, boolean enabled
) {
402 return wrap(rawAdmin
.addReplicationPeer(peerId
, peerConfig
, enabled
));
406 public CompletableFuture
<Void
> removeReplicationPeer(String peerId
) {
407 return wrap(rawAdmin
.removeReplicationPeer(peerId
));
411 public CompletableFuture
<Void
> enableReplicationPeer(String peerId
) {
412 return wrap(rawAdmin
.enableReplicationPeer(peerId
));
416 public CompletableFuture
<Void
> disableReplicationPeer(String peerId
) {
417 return wrap(rawAdmin
.disableReplicationPeer(peerId
));
421 public CompletableFuture
<ReplicationPeerConfig
> getReplicationPeerConfig(String peerId
) {
422 return wrap(rawAdmin
.getReplicationPeerConfig(peerId
));
426 public CompletableFuture
<Void
> updateReplicationPeerConfig(String peerId
,
427 ReplicationPeerConfig peerConfig
) {
428 return wrap(rawAdmin
.updateReplicationPeerConfig(peerId
, peerConfig
));
432 public CompletableFuture
<Void
> transitReplicationPeerSyncReplicationState(String peerId
,
433 SyncReplicationState clusterState
) {
434 return wrap(rawAdmin
.transitReplicationPeerSyncReplicationState(peerId
, clusterState
));
438 public CompletableFuture
<Void
> appendReplicationPeerTableCFs(String peerId
,
439 Map
<TableName
, List
<String
>> tableCfs
) {
440 return wrap(rawAdmin
.appendReplicationPeerTableCFs(peerId
, tableCfs
));
444 public CompletableFuture
<Void
> removeReplicationPeerTableCFs(String peerId
,
445 Map
<TableName
, List
<String
>> tableCfs
) {
446 return wrap(rawAdmin
.removeReplicationPeerTableCFs(peerId
, tableCfs
));
450 public CompletableFuture
<List
<ReplicationPeerDescription
>> listReplicationPeers() {
451 return wrap(rawAdmin
.listReplicationPeers());
455 public CompletableFuture
<List
<ReplicationPeerDescription
>> listReplicationPeers(Pattern pattern
) {
456 return wrap(rawAdmin
.listReplicationPeers(pattern
));
460 public CompletableFuture
<List
<TableCFs
>> listReplicatedTableCFs() {
461 return wrap(rawAdmin
.listReplicatedTableCFs());
465 public CompletableFuture
<Void
> enableTableReplication(TableName tableName
) {
466 return wrap(rawAdmin
.enableTableReplication(tableName
));
470 public CompletableFuture
<Void
> disableTableReplication(TableName tableName
) {
471 return wrap(rawAdmin
.disableTableReplication(tableName
));
475 public CompletableFuture
<Void
> snapshot(SnapshotDescription snapshot
) {
476 return wrap(rawAdmin
.snapshot(snapshot
));
480 public CompletableFuture
<Boolean
> isSnapshotFinished(SnapshotDescription snapshot
) {
481 return wrap(rawAdmin
.isSnapshotFinished(snapshot
));
485 public CompletableFuture
<Void
> restoreSnapshot(String snapshotName
) {
486 return wrap(rawAdmin
.restoreSnapshot(snapshotName
));
490 public CompletableFuture
<Void
> restoreSnapshot(String snapshotName
, boolean takeFailSafeSnapshot
,
491 boolean restoreAcl
) {
492 return wrap(rawAdmin
.restoreSnapshot(snapshotName
, takeFailSafeSnapshot
, restoreAcl
));
496 public CompletableFuture
<Void
> cloneSnapshot(String snapshotName
, TableName tableName
,
497 boolean restoreAcl
, String customSFT
) {
498 return wrap(rawAdmin
.cloneSnapshot(snapshotName
, tableName
, restoreAcl
, customSFT
));
502 public CompletableFuture
<List
<SnapshotDescription
>> listSnapshots() {
503 return wrap(rawAdmin
.listSnapshots());
507 public CompletableFuture
<List
<SnapshotDescription
>> listSnapshots(Pattern pattern
) {
508 return wrap(rawAdmin
.listSnapshots(pattern
));
512 public CompletableFuture
<List
<SnapshotDescription
>> listTableSnapshots(Pattern tableNamePattern
) {
513 return wrap(rawAdmin
.listTableSnapshots(tableNamePattern
));
517 public CompletableFuture
<List
<SnapshotDescription
>> listTableSnapshots(Pattern tableNamePattern
,
518 Pattern snapshotNamePattern
) {
519 return wrap(rawAdmin
.listTableSnapshots(tableNamePattern
, snapshotNamePattern
));
523 public CompletableFuture
<Void
> deleteSnapshot(String snapshotName
) {
524 return wrap(rawAdmin
.deleteSnapshot(snapshotName
));
528 public CompletableFuture
<Void
> deleteSnapshots() {
529 return wrap(rawAdmin
.deleteSnapshots());
533 public CompletableFuture
<Void
> deleteSnapshots(Pattern pattern
) {
534 return wrap(rawAdmin
.deleteSnapshots(pattern
));
538 public CompletableFuture
<Void
> deleteTableSnapshots(Pattern tableNamePattern
) {
539 return wrap(rawAdmin
.deleteTableSnapshots(tableNamePattern
));
543 public CompletableFuture
<Void
> deleteTableSnapshots(Pattern tableNamePattern
,
544 Pattern snapshotNamePattern
) {
545 return wrap(rawAdmin
.deleteTableSnapshots(tableNamePattern
, snapshotNamePattern
));
549 public CompletableFuture
<Void
> execProcedure(String signature
, String instance
,
550 Map
<String
, String
> props
) {
551 return wrap(rawAdmin
.execProcedure(signature
, instance
, props
));
555 public CompletableFuture
<byte[]> execProcedureWithReturn(String signature
, String instance
,
556 Map
<String
, String
> props
) {
557 return wrap(rawAdmin
.execProcedureWithReturn(signature
, instance
, props
));
561 public CompletableFuture
<Boolean
> isProcedureFinished(String signature
, String instance
,
562 Map
<String
, String
> props
) {
563 return wrap(rawAdmin
.isProcedureFinished(signature
, instance
, props
));
567 public CompletableFuture
<Boolean
> abortProcedure(long procId
, boolean mayInterruptIfRunning
) {
568 return wrap(rawAdmin
.abortProcedure(procId
, mayInterruptIfRunning
));
572 public CompletableFuture
<String
> getProcedures() {
573 return wrap(rawAdmin
.getProcedures());
577 public CompletableFuture
<String
> getLocks() {
578 return wrap(rawAdmin
.getLocks());
582 public CompletableFuture
<Void
> decommissionRegionServers(List
<ServerName
> servers
,
584 return wrap(rawAdmin
.decommissionRegionServers(servers
, offload
));
588 public CompletableFuture
<List
<ServerName
>> listDecommissionedRegionServers() {
589 return wrap(rawAdmin
.listDecommissionedRegionServers());
593 public CompletableFuture
<Void
> recommissionRegionServer(ServerName server
,
594 List
<byte[]> encodedRegionNames
) {
595 return wrap(rawAdmin
.recommissionRegionServer(server
, encodedRegionNames
));
599 public CompletableFuture
<ClusterMetrics
> getClusterMetrics() {
600 return getClusterMetrics(EnumSet
.allOf(Option
.class));
604 public CompletableFuture
<ClusterMetrics
> getClusterMetrics(EnumSet
<Option
> options
) {
605 return wrap(rawAdmin
.getClusterMetrics(options
));
609 public CompletableFuture
<Void
> shutdown() {
610 return wrap(rawAdmin
.shutdown());
614 public CompletableFuture
<Void
> stopMaster() {
615 return wrap(rawAdmin
.stopMaster());
619 public CompletableFuture
<Void
> stopRegionServer(ServerName serverName
) {
620 return wrap(rawAdmin
.stopRegionServer(serverName
));
624 public CompletableFuture
<Void
> updateConfiguration(ServerName serverName
) {
625 return wrap(rawAdmin
.updateConfiguration(serverName
));
629 public CompletableFuture
<Void
> updateConfiguration() {
630 return wrap(rawAdmin
.updateConfiguration());
634 public CompletableFuture
<Void
> updateConfiguration(String groupName
) {
635 return wrap(rawAdmin
.updateConfiguration(groupName
));
639 public CompletableFuture
<Void
> rollWALWriter(ServerName serverName
) {
640 return wrap(rawAdmin
.rollWALWriter(serverName
));
644 public CompletableFuture
<Void
> clearCompactionQueues(ServerName serverName
, Set
<String
> queues
) {
645 return wrap(rawAdmin
.clearCompactionQueues(serverName
, queues
));
649 public CompletableFuture
<List
<SecurityCapability
>> getSecurityCapabilities() {
650 return wrap(rawAdmin
.getSecurityCapabilities());
654 public CompletableFuture
<List
<RegionMetrics
>> getRegionMetrics(ServerName serverName
) {
655 return wrap(rawAdmin
.getRegionMetrics(serverName
));
659 public CompletableFuture
<List
<RegionMetrics
>> getRegionMetrics(ServerName serverName
,
660 TableName tableName
) {
661 return wrap(rawAdmin
.getRegionMetrics(serverName
, tableName
));
665 public CompletableFuture
<Boolean
> isMasterInMaintenanceMode() {
666 return wrap(rawAdmin
.isMasterInMaintenanceMode());
670 public CompletableFuture
<CompactionState
> getCompactionState(
671 TableName tableName
, CompactType compactType
) {
672 return wrap(rawAdmin
.getCompactionState(tableName
, compactType
));
676 public CompletableFuture
<CompactionState
> getCompactionStateForRegion(byte[] regionName
) {
677 return wrap(rawAdmin
.getCompactionStateForRegion(regionName
));
681 public CompletableFuture
<Optional
<Long
>> getLastMajorCompactionTimestamp(TableName tableName
) {
682 return wrap(rawAdmin
.getLastMajorCompactionTimestamp(tableName
));
686 public CompletableFuture
<Optional
<Long
>> getLastMajorCompactionTimestampForRegion(
688 return wrap(rawAdmin
.getLastMajorCompactionTimestampForRegion(regionName
));
692 public CompletableFuture
<Boolean
> balancerSwitch(boolean on
, boolean drainRITs
) {
693 return wrap(rawAdmin
.balancerSwitch(on
, drainRITs
));
697 public CompletableFuture
<BalanceResponse
> balance(BalanceRequest request
) {
698 return wrap(rawAdmin
.balance(request
));
702 public CompletableFuture
<Boolean
> isBalancerEnabled() {
703 return wrap(rawAdmin
.isBalancerEnabled());
707 public CompletableFuture
<Boolean
> normalizerSwitch(boolean on
) {
708 return wrap(rawAdmin
.normalizerSwitch(on
));
712 public CompletableFuture
<Boolean
> isNormalizerEnabled() {
713 return wrap(rawAdmin
.isNormalizerEnabled());
717 public CompletableFuture
<Boolean
> normalize(NormalizeTableFilterParams ntfp
) {
718 return wrap(rawAdmin
.normalize(ntfp
));
722 public CompletableFuture
<Boolean
> cleanerChoreSwitch(boolean enabled
) {
723 return wrap(rawAdmin
.cleanerChoreSwitch(enabled
));
727 public CompletableFuture
<Boolean
> isCleanerChoreEnabled() {
728 return wrap(rawAdmin
.isCleanerChoreEnabled());
732 public CompletableFuture
<Boolean
> runCleanerChore() {
733 return wrap(rawAdmin
.runCleanerChore());
737 public CompletableFuture
<Boolean
> catalogJanitorSwitch(boolean enabled
) {
738 return wrap(rawAdmin
.catalogJanitorSwitch(enabled
));
742 public CompletableFuture
<Boolean
> isCatalogJanitorEnabled() {
743 return wrap(rawAdmin
.isCatalogJanitorEnabled());
747 public CompletableFuture
<Integer
> runCatalogJanitor() {
748 return wrap(rawAdmin
.runCatalogJanitor());
752 public <S
, R
> CompletableFuture
<R
> coprocessorService(Function
<RpcChannel
, S
> stubMaker
,
753 ServiceCaller
<S
, R
> callable
) {
754 return wrap(rawAdmin
.coprocessorService(stubMaker
, callable
));
758 public <S
, R
> CompletableFuture
<R
> coprocessorService(Function
<RpcChannel
, S
> stubMaker
,
759 ServiceCaller
<S
, R
> callable
, ServerName serverName
) {
760 return wrap(rawAdmin
.coprocessorService(stubMaker
, callable
, serverName
));
764 public CompletableFuture
<List
<ServerName
>> listDeadServers() {
765 return wrap(rawAdmin
.listDeadServers());
769 public CompletableFuture
<List
<ServerName
>> clearDeadServers(List
<ServerName
> servers
) {
770 return wrap(rawAdmin
.clearDeadServers(servers
));
774 public CompletableFuture
<CacheEvictionStats
> clearBlockCache(TableName tableName
) {
775 return wrap(rawAdmin
.clearBlockCache(tableName
));
779 public CompletableFuture
<Void
> cloneTableSchema(TableName tableName
, TableName newTableName
,
780 boolean preserveSplits
) {
781 return wrap(rawAdmin
.cloneTableSchema(tableName
, newTableName
, preserveSplits
));
785 public CompletableFuture
<Map
<ServerName
, Boolean
>> compactionSwitch(boolean switchState
,
786 List
<String
> serverNamesList
) {
787 return wrap(rawAdmin
.compactionSwitch(switchState
, serverNamesList
));
791 public CompletableFuture
<Boolean
> switchRpcThrottle(boolean enable
) {
792 return wrap(rawAdmin
.switchRpcThrottle(enable
));
796 public CompletableFuture
<Boolean
> isRpcThrottleEnabled() {
797 return wrap(rawAdmin
.isRpcThrottleEnabled());
801 public CompletableFuture
<Boolean
> exceedThrottleQuotaSwitch(boolean enable
) {
802 return wrap(rawAdmin
.exceedThrottleQuotaSwitch(enable
));
806 public CompletableFuture
<Map
<TableName
, Long
>> getSpaceQuotaTableSizes() {
807 return wrap(rawAdmin
.getSpaceQuotaTableSizes());
811 public CompletableFuture
<Map
<TableName
, SpaceQuotaSnapshot
>> getRegionServerSpaceQuotaSnapshots(
812 ServerName serverName
) {
813 return wrap(rawAdmin
.getRegionServerSpaceQuotaSnapshots(serverName
));
817 public CompletableFuture
<SpaceQuotaSnapshot
> getCurrentSpaceQuotaSnapshot(String namespace
) {
818 return wrap(rawAdmin
.getCurrentSpaceQuotaSnapshot(namespace
));
822 public CompletableFuture
<SpaceQuotaSnapshot
> getCurrentSpaceQuotaSnapshot(TableName tableName
) {
823 return wrap(rawAdmin
.getCurrentSpaceQuotaSnapshot(tableName
));
827 public CompletableFuture
<Void
> grant(UserPermission userPermission
,
828 boolean mergeExistingPermissions
) {
829 return wrap(rawAdmin
.grant(userPermission
, mergeExistingPermissions
));
833 public CompletableFuture
<Void
> revoke(UserPermission userPermission
) {
834 return wrap(rawAdmin
.revoke(userPermission
));
838 public CompletableFuture
<List
<UserPermission
>>
839 getUserPermissions(GetUserPermissionsRequest getUserPermissionsRequest
) {
840 return wrap(rawAdmin
.getUserPermissions(getUserPermissionsRequest
));
844 public CompletableFuture
<List
<Boolean
>> hasUserPermissions(String userName
,
845 List
<Permission
> permissions
) {
846 return wrap(rawAdmin
.hasUserPermissions(userName
, permissions
));
850 public CompletableFuture
<Boolean
> snapshotCleanupSwitch(final boolean on
,
851 final boolean sync
) {
852 return wrap(rawAdmin
.snapshotCleanupSwitch(on
, sync
));
856 public CompletableFuture
<Boolean
> isSnapshotCleanupEnabled() {
857 return wrap(rawAdmin
.isSnapshotCleanupEnabled());
861 public CompletableFuture
<List
<Boolean
>> clearSlowLogResponses(Set
<ServerName
> serverNames
) {
862 return wrap(rawAdmin
.clearSlowLogResponses(serverNames
));
866 public CompletableFuture
<RSGroupInfo
> getRSGroup(String groupName
) {
867 return wrap(rawAdmin
.getRSGroup(groupName
));
871 public CompletableFuture
<Void
> moveServersToRSGroup(Set
<Address
> servers
, String groupName
) {
872 return wrap(rawAdmin
.moveServersToRSGroup(servers
, groupName
));
876 public CompletableFuture
<Void
> addRSGroup(String groupName
) {
877 return wrap(rawAdmin
.addRSGroup(groupName
));
881 public CompletableFuture
<Void
> removeRSGroup(String groupName
) {
882 return wrap(rawAdmin
.removeRSGroup(groupName
));
886 public CompletableFuture
<BalanceResponse
> balanceRSGroup(String groupName
, BalanceRequest request
) {
887 return wrap(rawAdmin
.balanceRSGroup(groupName
, request
));
891 public CompletableFuture
<List
<RSGroupInfo
>> listRSGroups() {
892 return wrap(rawAdmin
.listRSGroups());
896 public CompletableFuture
<List
<TableName
>> listTablesInRSGroup(String groupName
) {
897 return wrap(rawAdmin
.listTablesInRSGroup(groupName
));
901 public CompletableFuture
<Pair
<List
<String
>, List
<TableName
>>>
902 getConfiguredNamespacesAndTablesInRSGroup(String groupName
) {
903 return wrap(rawAdmin
.getConfiguredNamespacesAndTablesInRSGroup(groupName
));
907 public CompletableFuture
<RSGroupInfo
> getRSGroup(Address hostPort
) {
908 return wrap(rawAdmin
.getRSGroup(hostPort
));
912 public CompletableFuture
<Void
> removeServersFromRSGroup(Set
<Address
> servers
) {
913 return wrap(rawAdmin
.removeServersFromRSGroup(servers
));
917 public CompletableFuture
<RSGroupInfo
> getRSGroup(TableName tableName
) {
918 return wrap(rawAdmin
.getRSGroup(tableName
));
922 public CompletableFuture
<Void
> setRSGroup(Set
<TableName
> tables
, String groupName
) {
923 return wrap(rawAdmin
.setRSGroup(tables
, groupName
));
927 public CompletableFuture
<Void
> renameRSGroup(String oldName
, String newName
) {
928 return wrap(rawAdmin
.renameRSGroup(oldName
, newName
));
932 public CompletableFuture
<Void
>
933 updateRSGroupConfig(String groupName
, Map
<String
, String
> configuration
) {
934 return wrap(rawAdmin
.updateRSGroupConfig(groupName
, configuration
));
938 public CompletableFuture
<List
<LogEntry
>> getLogEntries(Set
<ServerName
> serverNames
,
939 String logType
, ServerType serverType
, int limit
,
940 Map
<String
, Object
> filterParams
) {
941 return wrap(rawAdmin
.getLogEntries(serverNames
, logType
, serverType
, limit
, filterParams
));