String valueFormat = prettyPrint ? "%9s" : "%,24d"; for (DiskUsage usage : shellState.getConnector().tableOperations().getDiskUsage(tables)) { Object value = prettyPrint ? NumUtil.bigNumberForSize(usage.getUsage()) : usage.getUsage(); shellState.getReader() .println(String.format(valueFormat + " %s", value, usage.getTables()));
@Override public List<DiskUsage> getDiskUsage(ByteBuffer login, Set<String> tables) throws org.apache.accumulo.proxy.thrift.AccumuloException, org.apache.accumulo.proxy.thrift.AccumuloSecurityException, org.apache.accumulo.proxy.thrift.TableNotFoundException, TException { try { List<org.apache.accumulo.core.client.admin.DiskUsage> diskUsages = getConnector(login) .tableOperations().getDiskUsage(tables); List<DiskUsage> retUsages = new ArrayList<>(); for (org.apache.accumulo.core.client.admin.DiskUsage diskUsage : diskUsages) { DiskUsage usage = new DiskUsage(); usage.setTables(new ArrayList<>(diskUsage.getTables())); usage.setUsage(diskUsage.getUsage()); retUsages.add(usage); } return retUsages; } catch (Exception e) { handleExceptionTNF(e); return null; } }
assertEquals(1, diskUsages.size()); assertEquals(1, diskUsages.get(0).getTables().size()); assertEquals(Long.valueOf(0), diskUsages.get(0).getUsage()); assertEquals(tableName, diskUsages.get(0).getTables().first()); assertEquals(1, diskUsages.size()); assertEquals(1, diskUsages.get(0).getTables().size()); assertTrue(diskUsages.get(0).getUsage() > 0); assertEquals(tableName, diskUsages.get(0).getTables().first()); assertEquals(1, diskUsages.size()); assertEquals(2, diskUsages.get(0).getTables().size()); assertTrue(diskUsages.get(0).getUsage() > 0); assertEquals(1, diskUsages.get(0).getTables().size()); assertEquals(1, diskUsages.get(1).getTables().size()); assertTrue(diskUsages.get(0).getUsage() > 0); assertTrue(diskUsages.get(1).getUsage() > 0);
.getDiskUsage(Collections.singleton(tableName)); assertEquals(1, diskUsage.size()); long usage = diskUsage.get(0).getUsage().longValue(); log.debug("usage {}", usage); assertTrue(usage > 700 && usage < 800);
@Test public void getDiskUsageErrors() throws TableExistsException, AccumuloException, AccumuloSecurityException, TableNotFoundException, TException { String tableName = getUniqueNames(1)[0]; connector.tableOperations().create(tableName); List<DiskUsage> diskUsage = connector.tableOperations() .getDiskUsage(Collections.singleton(tableName)); assertEquals(1, diskUsage.size()); assertEquals(0, (long) diskUsage.get(0).getUsage()); assertEquals(tableName, diskUsage.get(0).getTables().iterator().next()); connector.securityOperations().revokeTablePermission(getAdminPrincipal(), tableName, TablePermission.READ); try { connector.tableOperations().getDiskUsage(Collections.singleton(tableName)); fail("Should throw securityexception"); } catch (AccumuloSecurityException e) {} connector.tableOperations().delete(tableName); try { connector.tableOperations().getDiskUsage(Collections.singleton(tableName)); fail("Should throw tablenotfound"); } catch (TableNotFoundException e) {} }
assertTrue(diskUsage.get(0).getUsage() > 100);