Accumulo
  1. Accumulo
  2. ACCUMULO-1565

Clonetable with excluded properties causes a NullPointerException

    Details

    • Type: Bug Bug
    • Status: Resolved
    • Priority: Critical Critical
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 1.5.1, 1.6.0
    • Component/s: None
    • Labels:
      None

      Description

      When cloning a table, there's an option to exclude certain properties from being copied over. When those excluded properties are processed in clone() in TableOperations, they are passed as options with a key and a null value. When passed through Thrift, the null value isn't expected because it uses the same process to set properties as well. Here's a stack trace.

      org.apache.accumulo.core.client.AccumuloException
      	at org.apache.accumulo.core.client.admin.TableOperationsImpl.doTableOperation(TableOperationsImpl.java:319)
      	at org.apache.accumulo.core.client.admin.TableOperationsImpl.doTableOperation(TableOperationsImpl.java:285)
      	at org.apache.accumulo.core.client.admin.TableOperationsImpl.clone(TableOperationsImpl.java:686)
      	at org.apache.accumulo.core.util.shell.commands.CloneTableCommand.execute(CloneTableCommand.java:68)
      	at org.apache.accumulo.core.util.shell.Shell.execCommand(Shell.java:617)
      	at org.apache.accumulo.core.util.shell.Shell.start(Shell.java:496)
      	at org.apache.accumulo.core.util.shell.Shell.main(Shell.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:616)
      	at org.apache.accumulo.start.Main$1.run(Main.java:105)
      	at java.lang.Thread.run(Thread.java:679)
      Caused by: java.lang.NullPointerException
      	at org.apache.thrift.protocol.TCompactProtocol.writeString(TCompactProtocol.java:325)
      	at org.apache.accumulo.core.master.thrift.MasterClientService$executeTableOperation_args$executeTableOperation_argsStandardScheme.write(MasterClientService.java:15606)
      	at org.apache.accumulo.core.master.thrift.MasterClientService$executeTableOperation_args$executeTableOperation_argsStandardScheme.write(MasterClientService.java:15467)
      	at org.apache.accumulo.core.master.thrift.MasterClientService$executeTableOperation_args.write(MasterClientService.java:15373)
      	at org.apache.thrift.TServiceClient.sendBase(TServiceClient.java:63)
      	at org.apache.accumulo.core.master.thrift.MasterClientService$Client.send_executeTableOperation(MasterClientService.java:493)
      	at org.apache.accumulo.core.master.thrift.MasterClientService$Client.executeTableOperation(MasterClientService.java:479)
      	at org.apache.accumulo.core.client.admin.TableOperationsImpl.executeTableOperation(TableOperationsImpl.java:241)
      	at org.apache.accumulo.core.client.admin.TableOperationsImpl.doTableOperation(TableOperationsImpl.java:294)
      	... 12 more
      

        Activity

        No work has yet been logged on this issue.

          People

          • Assignee:
            Sean Hickey
            Reporter:
            Sean Hickey
          • Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development