You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@accumulo.apache.org by ec...@apache.org on 2013/04/30 20:33:09 UTC
svn commit: r1477758 [3/6] - in /accumulo/trunk:
core/src/main/java/org/apache/accumulo/core/client/admin/
core/src/main/java/org/apache/accumulo/core/client/mock/
core/src/main/java/org/apache/accumulo/core/tabletserver/thrift/
core/src/main/java/org/...
Modified: accumulo/trunk/core/src/main/java/org/apache/accumulo/core/util/TableDiskUsage.java
URL: http://svn.apache.org/viewvc/accumulo/trunk/core/src/main/java/org/apache/accumulo/core/util/TableDiskUsage.java?rev=1477758&r1=1477757&r2=1477758&view=diff
==============================================================================
--- accumulo/trunk/core/src/main/java/org/apache/accumulo/core/util/TableDiskUsage.java (original)
+++ accumulo/trunk/core/src/main/java/org/apache/accumulo/core/util/TableDiskUsage.java Tue Apr 30 18:33:06 2013
@@ -117,7 +117,7 @@ public class TableDiskUsage {
}
public static void printDiskUsage(AccumuloConfiguration acuConf, Collection<String> tables, FileSystem fs, Connector conn) throws TableNotFoundException,
- IOException {
+ IOException {
printDiskUsage(acuConf, tables, fs, conn, new Printer() {
@Override
public void print(String line) {
@@ -125,9 +125,9 @@ public class TableDiskUsage {
}
});
}
- public static void printDiskUsage(AccumuloConfiguration acuConf, Collection<String> tables, FileSystem fs, Connector conn, Printer printer) throws TableNotFoundException,
- IOException {
+ public static Map<TreeSet<String>,Long> getDiskUsage(AccumuloConfiguration acuConf, Collection<String> tables, FileSystem fs, Connector conn)
+ throws TableNotFoundException, IOException {
TableDiskUsage tdu = new TableDiskUsage();
HashSet<String> tableIds = new HashSet<String>();
@@ -151,7 +151,7 @@ public class TableDiskUsage {
mdScanner.fetchColumnFamily(Constants.METADATA_DATAFILE_COLUMN_FAMILY);
mdScanner.setRange(new KeyExtent(new Text(tableId), null, null).toMetadataRange());
- if(!mdScanner.iterator().hasNext()) {
+ if (!mdScanner.iterator().hasNext()) {
emptyTableIds.add(tableId);
}
@@ -220,8 +220,8 @@ public class TableDiskUsage {
usage.put(tableNames, entry.getValue());
}
-
- if(!emptyTableIds.isEmpty()) {
+
+ if (!emptyTableIds.isEmpty()) {
TreeSet<String> emptyTables = new TreeSet<String>();
for (String tableId : emptyTableIds) {
emptyTables.add(reverseTableIdMap.get(tableId));
@@ -229,9 +229,15 @@ public class TableDiskUsage {
usage.put(emptyTables, 0L);
}
+ return usage;
+ }
+
+ public static void printDiskUsage(AccumuloConfiguration acuConf, Collection<String> tables, FileSystem fs, Connector conn, Printer printer)
+ throws TableNotFoundException, IOException {
+
+ Map<TreeSet<String>,Long> usage = getDiskUsage(acuConf, tables, fs, conn);
+
for (Entry<TreeSet<String>,Long> entry : usage.entrySet())
printer.print(String.format("%,24d %s", entry.getValue(), entry.getKey()));
-
}
-
}
Modified: accumulo/trunk/core/src/main/thrift/tabletserver.thrift
URL: http://svn.apache.org/viewvc/accumulo/trunk/core/src/main/thrift/tabletserver.thrift?rev=1477758&r1=1477757&r2=1477758&view=diff
==============================================================================
--- accumulo/trunk/core/src/main/thrift/tabletserver.thrift (original)
+++ accumulo/trunk/core/src/main/thrift/tabletserver.thrift Tue Apr 30 18:33:06 2013
@@ -87,6 +87,11 @@ struct ActiveScan {
13:list<binary> authorizations
}
+struct DiskUsage {
+ 1:list<string> tables
+ 2:i64 usage
+}
+
enum CompactionType {
MINOR,
MERGE,
@@ -187,6 +192,7 @@ service TabletClientService extends clie
list<ActiveScan> getActiveScans(2:trace.TInfo tinfo, 1:security.TCredentials credentials) throws (1:client.ThriftSecurityException sec)
list<ActiveCompaction> getActiveCompactions(2:trace.TInfo tinfo, 1:security.TCredentials credentials) throws (1:client.ThriftSecurityException sec)
+ list<DiskUsage> getDiskUsage(2:set<string> tables, 1:security.TCredentials credentials) throws (1:client.ThriftSecurityException sec, 2:client.ThriftTableOperationException toe)
oneway void removeLogs(1:trace.TInfo tinfo, 2:security.TCredentials credentials, 3:list<string> filenames)
}
Modified: accumulo/trunk/core/src/test/java/org/apache/accumulo/core/client/admin/TableOperationsHelperTest.java
URL: http://svn.apache.org/viewvc/accumulo/trunk/core/src/test/java/org/apache/accumulo/core/client/admin/TableOperationsHelperTest.java?rev=1477758&r1=1477757&r2=1477758&view=diff
==============================================================================
--- accumulo/trunk/core/src/test/java/org/apache/accumulo/core/client/admin/TableOperationsHelperTest.java (original)
+++ accumulo/trunk/core/src/test/java/org/apache/accumulo/core/client/admin/TableOperationsHelperTest.java Tue Apr 30 18:33:06 2013
@@ -184,7 +184,12 @@ public class TableOperationsHelperTest {
public Map<String,String> tableIdMap() {
return null;
}
-
+
+ @Override
+ public List<DiskUsage> getDiskUsage(Set<String> tables) throws AccumuloException, AccumuloSecurityException, TableNotFoundException {
+ return null;
+ }
+
void check(String tablename, String[] values) {
Map<String,String> expected = new TreeMap<String,String>();
for (String value : values) {
Modified: accumulo/trunk/proxy/src/main/java/org/apache/accumulo/proxy/ProxyServer.java
URL: http://svn.apache.org/viewvc/accumulo/trunk/proxy/src/main/java/org/apache/accumulo/proxy/ProxyServer.java?rev=1477758&r1=1477757&r2=1477758&view=diff
==============================================================================
--- accumulo/trunk/proxy/src/main/java/org/apache/accumulo/proxy/ProxyServer.java (original)
+++ accumulo/trunk/proxy/src/main/java/org/apache/accumulo/proxy/ProxyServer.java Tue Apr 30 18:33:06 2013
@@ -76,6 +76,7 @@ import org.apache.accumulo.proxy.thrift.
import org.apache.accumulo.proxy.thrift.ColumnUpdate;
import org.apache.accumulo.proxy.thrift.CompactionReason;
import org.apache.accumulo.proxy.thrift.CompactionType;
+import org.apache.accumulo.proxy.thrift.DiskUsage;
import org.apache.accumulo.proxy.thrift.KeyValue;
import org.apache.accumulo.proxy.thrift.KeyValueAndPeek;
import org.apache.accumulo.proxy.thrift.NoMoreEntriesException;
@@ -305,7 +306,7 @@ public class ProxyServer implements Accu
org.apache.accumulo.proxy.thrift.AccumuloException, TException {
try {
getConnector(login).tableOperations().compact(tableName, ByteBufferUtil.toText(startRow), ByteBufferUtil.toText(endRow), getIteratorSettings(iterators),
- flush, wait);
+ flush, wait);
} catch (Exception e) {
handleExceptionTNF(e);
}
@@ -581,6 +582,25 @@ public class ProxyServer implements Accu
throw new TException(e);
}
}
+
+ @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<DiskUsage>();
+ for(org.apache.accumulo.core.client.admin.DiskUsage diskUsage : diskUsages) {
+ DiskUsage usage = new DiskUsage();
+ usage.setTables(new ArrayList<String>(diskUsage.getTables()));
+ usage.setUsage(diskUsage.getUsage());
+ retUsages.add(usage);
+ }
+ return retUsages;
+ } catch(Exception e) {
+ handleExceptionTNF(e);
+ return null;
+ }
+ }
@Override
public Map<String,String> getSiteConfiguration(ByteBuffer login) throws org.apache.accumulo.proxy.thrift.AccumuloException,