public interface QuotaSnapshotStore<T>
Modifier and Type | Interface and Description |
---|---|
static class |
QuotaSnapshotStore.ViolationState
The current state of a table with respect to the policy set forth by a quota.
|
Modifier and Type | Field and Description |
---|---|
static SpaceQuotaSnapshot |
NO_QUOTA
Singleton to represent a table without a quota defined.
|
Modifier and Type | Method and Description |
---|---|
java.lang.Iterable<java.util.Map.Entry<HRegionInfo,java.lang.Long>> |
filterBySubject(T subject)
Filters the provided
regions , returning those which match the given
subject . |
SpaceQuotaSnapshot |
getCurrentState(T subject)
Returns the current
QuotaSnapshotStore.ViolationState for the given subject . |
QuotaProtos.SpaceQuota |
getSpaceQuota(T subject)
Fetch the Quota for the given table.
|
SpaceQuotaSnapshot |
getTargetState(T subject,
QuotaProtos.SpaceQuota spaceQuota)
Computes the target
QuotaSnapshotStore.ViolationState for the given subject . |
void |
setCurrentState(T subject,
SpaceQuotaSnapshot state)
Sets the current
QuotaSnapshotStore.ViolationState for the subject . |
void |
setRegionUsage(java.util.Map<HRegionInfo,java.lang.Long> regionUsage)
Updates
this with the latest snapshot of filesystem use by region. |
static final SpaceQuotaSnapshot NO_QUOTA
QuotaProtos.SpaceQuota getSpaceQuota(T subject) throws java.io.IOException
java.io.IOException
SpaceQuotaSnapshot getCurrentState(T subject)
QuotaSnapshotStore.ViolationState
for the given subject
.SpaceQuotaSnapshot getTargetState(T subject, QuotaProtos.SpaceQuota spaceQuota)
QuotaSnapshotStore.ViolationState
for the given subject
.java.lang.Iterable<java.util.Map.Entry<HRegionInfo,java.lang.Long>> filterBySubject(T subject)
regions
, returning those which match the given
subject
.subject
- The filter criteria.void setCurrentState(T subject, SpaceQuotaSnapshot state)
QuotaSnapshotStore.ViolationState
for the subject
.void setRegionUsage(java.util.Map<HRegionInfo,java.lang.Long> regionUsage)
this
with the latest snapshot of filesystem use by region.regionUsage
- A map of HRegionInfo
objects to their filesystem usage in bytes