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