@InterfaceAudience.Private @InterfaceStability.Evolving public class RegionServerRpcQuotaManager extends Object
Modifier and Type | Field and Description |
---|---|
private static org.slf4j.Logger |
LOG |
private QuotaCache |
quotaCache |
private boolean |
rpcThrottleEnabled |
private RpcThrottleStorage |
rpcThrottleStorage |
private RegionServerServices |
rsServices |
Constructor and Description |
---|
RegionServerRpcQuotaManager(RegionServerServices rsServices) |
Modifier and Type | Method and Description |
---|---|
private OperationQuota |
checkQuota(Region region,
int numWrites,
int numReads,
int numScans)
Check the quota for the current (rpc-context) user.
|
OperationQuota |
checkQuota(Region region,
List<org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.Action> actions)
Check the quota for the current (rpc-context) user.
|
OperationQuota |
checkQuota(Region region,
OperationQuota.OperationType type)
Check the quota for the current (rpc-context) user.
|
OperationQuota |
getQuota(org.apache.hadoop.security.UserGroupInformation ugi,
TableName table)
Returns the quota for an operation.
|
(package private) QuotaCache |
getQuotaCache() |
private boolean |
isQuotaEnabled() |
protected boolean |
isRpcThrottleEnabled() |
void |
start(RpcScheduler rpcScheduler) |
void |
stop() |
void |
switchRpcThrottle(boolean enable) |
private static final org.slf4j.Logger LOG
private final RegionServerServices rsServices
private QuotaCache quotaCache
private volatile boolean rpcThrottleEnabled
private RpcThrottleStorage rpcThrottleStorage
public RegionServerRpcQuotaManager(RegionServerServices rsServices)
public void start(RpcScheduler rpcScheduler) throws IOException
IOException
public void stop()
protected boolean isRpcThrottleEnabled()
private boolean isQuotaEnabled()
public void switchRpcThrottle(boolean enable) throws IOException
IOException
QuotaCache getQuotaCache()
public OperationQuota getQuota(org.apache.hadoop.security.UserGroupInformation ugi, TableName table)
ugi
- the user that is executing the operationtable
- the table where the operation will be executedpublic OperationQuota checkQuota(Region region, OperationQuota.OperationType type) throws IOException, RpcThrottlingException
region
- the region where the operation will be performedtype
- the operation typeRpcThrottlingException
- if the operation cannot be executed due to quota exceeded.IOException
public OperationQuota checkQuota(Region region, List<org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.Action> actions) throws IOException, RpcThrottlingException
region
- the region where the operation will be performedactions
- the "multi" actions to performRpcThrottlingException
- if the operation cannot be executed due to quota exceeded.IOException
private OperationQuota checkQuota(Region region, int numWrites, int numReads, int numScans) throws IOException, RpcThrottlingException
region
- the region where the operation will be performednumWrites
- number of writes to performnumReads
- number of short-reads to performnumScans
- number of scan to performRpcThrottlingException
- if the operation cannot be executed due to quota exceeded.IOException
Copyright © 2007–2020 The Apache Software Foundation. All rights reserved.