accumulo-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Keith Turner (JIRA)" <>
Subject [jira] [Commented] (ACCUMULO-1565) Clonetable with excluded properties causes a NullPointerException
Date Mon, 29 Jul 2013 14:29:48 GMT


Keith Turner commented on ACCUMULO-1565:

[~shickey], a test that reproduces the problem would be useful for preventing future regressions.

Its possible that someone may want to set empty string for a prop and not exclude it.  In
addition to using empty string, I think prefixing the keys in the options map would be good.
 For example prefix all props to set with "SET:" and all props to exclude with "EX:".  Then
on the server side, the intent is clear based on the key prefix.
> Clonetable with excluded properties causes a NullPointerException
> -----------------------------------------------------------------
>                 Key: ACCUMULO-1565
>                 URL:
>             Project: Accumulo
>          Issue Type: Bug
>            Reporter: Sean Hickey
>            Assignee: Sean Hickey
>            Priority: Critical
>             Fix For: 1.6.0
>         Attachments: ACCUMULO-1565.patch
> 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
> {code}
> org.apache.accumulo.core.client.AccumuloException
> 	at org.apache.accumulo.core.client.admin.TableOperationsImpl.doTableOperation(
> 	at org.apache.accumulo.core.client.admin.TableOperationsImpl.doTableOperation(
> 	at org.apache.accumulo.core.client.admin.TableOperationsImpl.clone(
> 	at
> 	at
> 	at
> 	at
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(
> 	at java.lang.reflect.Method.invoke(
> 	at org.apache.accumulo.start.Main$
> 	at
> Caused by: java.lang.NullPointerException
> 	at org.apache.thrift.protocol.TCompactProtocol.writeString(
> 	at org.apache.accumulo.core.master.thrift.MasterClientService$executeTableOperation_args$executeTableOperation_argsStandardScheme.write(
> 	at org.apache.accumulo.core.master.thrift.MasterClientService$executeTableOperation_args$executeTableOperation_argsStandardScheme.write(
> 	at org.apache.accumulo.core.master.thrift.MasterClientService$executeTableOperation_args.write(
> 	at org.apache.thrift.TServiceClient.sendBase(
> 	at org.apache.accumulo.core.master.thrift.MasterClientService$Client.send_executeTableOperation(
> 	at org.apache.accumulo.core.master.thrift.MasterClientService$Client.executeTableOperation(
> 	at org.apache.accumulo.core.client.admin.TableOperationsImpl.executeTableOperation(
> 	at org.apache.accumulo.core.client.admin.TableOperationsImpl.doTableOperation(
> 	... 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:

View raw message