Uploaded image for project: 'Accumulo'
  1. Accumulo
  2. ACCUMULO-3589

DuCommand doesn't validate existence of tables

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • 1.6.3, 1.7.0
    • shell
    • 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)

      Attachments

        1. ACCUMULO-3589.patch
          2 kB
          Tristen Georgiou

        Activity

          People

            tristeng Tristen Georgiou
            elserj Josh Elser
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Time Tracking

                Estimated:
                Original Estimate - Not Specified
                Not Specified
                Remaining:
                Remaining Estimate - 0h
                0h
                Logged:
                Time Spent - 0.5h
                0.5h