Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
None
-
Patch
Description
Ran the shell command du -h * and got a server-error. Realized that the tables specified on the command line (not via named-option) are not validated for existence before trying to compute their disk usage.
2015-04-28 20:04:39,009 ERROR [ClientPool 96] tserver.TabletServer$ThriftClientHandler (RpcWrapper.java:invoke(50)) - Invalid table name '*'
java.lang.IllegalArgumentException: Invalid table name '*'
at org.apache.accumulo.core.client.impl.Tables.qualify(Tables.java:209)
at org.apache.accumulo.core.client.impl.Tables.qualify(Tables.java:204)
at org.apache.accumulo.core.client.impl.Tables._getTableId(Tables.java:115)
at org.apache.accumulo.server.client.ClientServiceHandler.checkTableId(ClientServiceHandler.java:90)
at org.apache.accumulo.server.client.ClientServiceHandler.getDiskUsage(ClientServiceHandler.java:418)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.accumulo.core.trace.wrappers.RpcServerInvocationHandler.invoke(RpcServerInvocationHandler.java:39)
at org.apache.accumulo.server.rpc.RpcWrapper$1.invoke(RpcWrapper.java:47)
at com.sun.proxy.$Proxy10.getDiskUsage(Unknown Source)
at org.apache.accumulo.core.client.impl.thrift.ClientService$Processor$getDiskUsage.getResult(ClientService.java:2419)
at org.apache.accumulo.core.client.impl.thrift.ClientService$Processor$getDiskUsage.getResult(ClientService.java:2403)
at org.apache.thrift.ProcessFunction.process(ProcessFunction.java:39)
at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:39)
at org.apache.accumulo.server.rpc.TimedProcessor.process(TimedProcessor.java:63)
at org.apache.thrift.server.AbstractNonblockingServer$FrameBuffer.invoke(AbstractNonblockingServer.java:516)
at org.apache.accumulo.server.rpc.CustomNonBlockingServer$1.run(CustomNonBlockingServer.java:78)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at org.apache.accumulo.fate.util.LoggingRunnable.run(LoggingRunnable.java:35)
at java.lang.Thread.run(Thread.java:745)
2015-04-28 20:04:39,010 ERROR [ClientPool 96] thrift.ProcessFunction (ProcessFunction.java:process(41)) - Internal error processing getDiskUsage
org.apache.thrift.TException: Invalid table name '*'
at org.apache.accumulo.server.rpc.RpcWrapper$1.invoke(RpcWrapper.java:51)
at com.sun.proxy.$Proxy10.getDiskUsage(Unknown Source)
at org.apache.accumulo.core.client.impl.thrift.ClientService$Processor$getDiskUsage.getResult(ClientService.java:2419)
at org.apache.accumulo.core.client.impl.thrift.ClientService$Processor$getDiskUsage.getResult(ClientService.java:2403)
at org.apache.thrift.ProcessFunction.process(ProcessFunction.java:39)
at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:39)
at org.apache.accumulo.server.rpc.TimedProcessor.process(TimedProcessor.java:63)
at org.apache.thrift.server.AbstractNonblockingServer$FrameBuffer.invoke(AbstractNonblockingServer.java:516)
at org.apache.accumulo.server.rpc.CustomNonBlockingServer$1.run(CustomNonBlockingServer.java:78)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at org.apache.accumulo.fate.util.LoggingRunnable.run(LoggingRunnable.java:35)
at java.lang.Thread.run(Thread.java:745)