Entry<Long,Long> convertSnapshot(SpaceQuotaSnapshot snapshot) { return new SimpleImmutableEntry<Long,Long>(snapshot.getUsage(), snapshot.getLimit()); }
@Override public boolean evaluate() throws Exception { SpaceQuotaSnapshot snapshot = (SpaceQuotaSnapshot) conn.getAdmin().getCurrentSpaceQuotaSnapshot(tn); LOG.info("Table snapshot after initial ingest: " + snapshot); if (snapshot == null) { return false; } return snapshot.getLimit() == sizeLimit && snapshot.getUsage() > 0L; } });
@Override public boolean evaluate() throws Exception { SpaceQuotaSnapshot snapshot = (SpaceQuotaSnapshot) conn.getAdmin() .getCurrentSpaceQuotaSnapshot(tn.getNamespaceAsString()); LOG.debug("Namespace snapshot after initial ingest: " + snapshot); if (snapshot == null) { return false; } nsUsage.set(snapshot.getUsage()); return snapshot.getLimit() == nsLimit && snapshot.getUsage() > 0; } });
currentSnapshot.getLimit()); this.snapshotNotifier.transitionTable(tableInLimbo, targetSnapshot);
public static QuotaProtos.SpaceQuotaSnapshot toProtoSnapshot(SpaceQuotaSnapshot snapshot) { return QuotaProtos.SpaceQuotaSnapshot.newBuilder() .setQuotaStatus(SpaceQuotaStatus.toProto(snapshot.getQuotaStatus())) .setQuotaUsage(snapshot.getUsage()).setQuotaLimit(snapshot.getLimit()).build(); }
@Override public long computeBulkLoadSize(FileSystem fs, List<String> paths) throws SpaceLimitingException { // Compute the amount of space that could be used to save some arithmetic in the for-loop final long sizeAvailableForBulkLoads = quotaSnapshot.getLimit() - quotaSnapshot.getUsage(); long size = 0L; for (String path : paths) { try { size += getFileSize(fs, path); } catch (IOException e) { throw new SpaceLimitingException( getPolicyName(), "Colud not verify length of file to bulk load: " + path, e); } if (size > sizeAvailableForBulkLoads) { throw new SpaceLimitingException(getPolicyName(), "Bulk load of " + paths + " is disallowed because the file(s) exceed the limits of a space quota."); } } return size; } }
assertEquals("Snapshot was " + snapshot, violationPolicy, snapshot.getQuotaStatus().getPolicy().get()); assertEquals(sizeLimit, snapshot.getLimit()); assertTrue("The usage should be greater than the limit, but were " + snapshot.getUsage() + " and " + snapshot.getLimit() + ", respectively", snapshot.getUsage() > snapshot.getLimit());
"Observed table usage was " + snapshot.getUsage(), snapshot.getUsage() >= tableSize); assertEquals(sizeLimit, snapshot.getLimit()); SpaceQuotaStatus pbStatus = snapshot.getQuotaStatus(); assertFalse(pbStatus.isInViolation());
public static QuotaProtos.SpaceQuotaSnapshot toProtoSnapshot(SpaceQuotaSnapshot snapshot) { return QuotaProtos.SpaceQuotaSnapshot.newBuilder() .setQuotaStatus(SpaceQuotaStatus.toProto(snapshot.getQuotaStatus())) .setQuotaUsage(snapshot.getUsage()).setQuotaLimit(snapshot.getLimit()).build(); }
@Override public boolean evaluate() throws Exception { SpaceQuotaSnapshot snapshot = QuotaTableUtil.getCurrentSnapshot(conn, tn); LOG.info("Table snapshot after initial ingest: " + snapshot); if (snapshot == null) { return false; } return snapshot.getLimit() == sizeLimit && snapshot.getUsage() > 0L; } });
@Override public boolean evaluate() throws Exception { SpaceQuotaSnapshot snapshot = QuotaTableUtil.getCurrentSnapshot( conn, tn.getNamespaceAsString()); LOG.debug("Namespace snapshot after initial ingest: " + snapshot); if (snapshot == null) { return false; } nsUsage.set(snapshot.getUsage()); return snapshot.getLimit() == nsLimit && snapshot.getUsage() > 0; } });
public static QuotaProtos.SpaceQuotaSnapshot toProtoSnapshot(SpaceQuotaSnapshot snapshot) { return QuotaProtos.SpaceQuotaSnapshot.newBuilder() .setQuotaStatus(SpaceQuotaStatus.toProto(snapshot.getQuotaStatus())) .setQuotaUsage(snapshot.getUsage()).setQuotaLimit(snapshot.getLimit()).build(); }
final SpaceQuotaSnapshot snapshot = entry.getValue(); assertEquals("Snapshot was " + snapshot, violationPolicy, snapshot.getQuotaStatus().getPolicy()); assertEquals(sizeLimit, snapshot.getLimit()); assertTrue( "The usage should be greater than the limit, but were " + snapshot.getUsage() + " and " + snapshot.getLimit() + ", respectively", snapshot.getUsage() > snapshot.getLimit());
"Observed table usage was " + snapshot.getUsage(), snapshot.getUsage() >= tableSize); assertEquals(sizeLimit, snapshot.getLimit()); SpaceQuotaStatus pbStatus = snapshot.getQuotaStatus(); assertFalse(pbStatus.isInViolation());