accumulo-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sean Hickey (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (ACCUMULO-1565) Clonetable with excluded properties causes a NullPointerException
Date Mon, 29 Jul 2013 14:03:50 GMT

     [ https://issues.apache.org/jira/browse/ACCUMULO-1565?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Sean Hickey updated ACCUMULO-1565:
----------------------------------

    Status: Patch Available  (was: Open)

I needed this to work for Table Namespaces (ACCUMULO-802), so I thought I'd try to fix it.
This patch only modifies CloneTable to use an empty string instead of null when excluding
properties. I'm not sure if it would screw up anything (can there be empty-string property
values?), but it was a small enough fix that I thought I'd post it.
                
> Clonetable with excluded properties causes a NullPointerException
> -----------------------------------------------------------------
>
>                 Key: ACCUMULO-1565
>                 URL: https://issues.apache.org/jira/browse/ACCUMULO-1565
>             Project: Accumulo
>          Issue Type: Bug
>            Reporter: Sean Hickey
>            Assignee: Eric Newton
>            Priority: Critical
>             Fix For: 1.6.0
>
>
> 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.
> {code}
> 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
> {code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message