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

Clonetable with excluded properties causes a NullPointerException

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Critical
    • Resolution: Fixed
    • None
    • 1.5.1, 1.6.0
    • None
    • 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
      

      Attachments

        1. ACCUMULO-1565.patch
          2 kB
          Sean Hickey

        Activity

          People

            shickey Sean Hickey
            shickey Sean Hickey
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: