[ 
https://issues.apache.org/jira/browse/ACCUMULO-2134?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13871511#comment-13871511
 ] 

Christopher Tubbs commented on ACCUMULO-2134:
---------------------------------------------

The exception happens because the removeConstraint() method uses setProperty(), 
and somebody forgot to add TNFE to the setProperty() method. So, these methods 
never threw TNFE. So, as a hack, we've had to wrap the exception in Accumulo's 
client code. I don't know that there's any intent for the consumer of the API 
to unwrap the exception. Some people indicated they'd like to do that... but I 
don't know that we should be making guarantees in the API about a hierarchy of 
exception causes. Sadly, this means that TNFE for setProperty() related methods 
will result in an AccumuloException instead of TNFE. This was always the case, 
though. At least now, it should have some reasonable cause for the 
AccumuloException, with an informative message, instead of some 
TApplicationException or some other obscure and difficult-to-debug cause.

The intermittency of this issue might be related to ACCUMULO-2092, but I 
haven't done the investigation necessary to confirm that.

> SimpleProxyIT fails on TableNotFoundException
> ---------------------------------------------
>
>                 Key: ACCUMULO-2134
>                 URL: https://issues.apache.org/jira/browse/ACCUMULO-2134
>             Project: Accumulo
>          Issue Type: Bug
>          Components: proxy, test
>            Reporter: Josh Elser
>            Assignee: Josh Elser
>             Fix For: 1.6.0
>
>
> {noformat}
> Running org.apache.accumulo.proxy.SimpleProxyIT
> 2014-01-04 17:22:37.202 java[59396:1903] Unable to load realm info from 
> SCDynamicStore
> Tests run: 12, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 29.547 sec 
> <<< FAILURE!
> tableNotFound(org.apache.accumulo.proxy.SimpleProxyIT)  Time elapsed: 0.438 
> sec  <<< ERROR!
> AccumuloException(msg:org.apache.accumulo.core.client.AccumuloException: 
> org.apache.accumulo.core.client.TableNotFoundException: Table doesNotExists 
> does not exist)
>       at 
> org.apache.accumulo.proxy.thrift.AccumuloProxy$removeConstraint_result$removeConstraint_resultStandardScheme.read(AccumuloProxy.java:42869)
>       at 
> org.apache.accumulo.proxy.thrift.AccumuloProxy$removeConstraint_result$removeConstraint_resultStandardScheme.read(AccumuloProxy.java:42855)
>       at 
> org.apache.accumulo.proxy.thrift.AccumuloProxy$removeConstraint_result.read(AccumuloProxy.java:42789)
>       at org.apache.thrift.TServiceClient.receiveBase(TServiceClient.java:78)
>       at 
> org.apache.accumulo.proxy.thrift.AccumuloProxy$Client.recv_removeConstraint(AccumuloProxy.java:1298)
>       at 
> org.apache.accumulo.proxy.thrift.AccumuloProxy$Client.removeConstraint(AccumuloProxy.java:1283)
>       at 
> org.apache.accumulo.proxy.SimpleProxyIT.tableNotFound(SimpleProxyIT.java:583)
>       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:606)
>       at 
> org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47)
>       at 
> org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
>       at 
> org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44)
>       at 
> org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
>       at 
> org.junit.internal.runners.statements.FailOnTimeout$StatementThread.run(FailOnTimeout.java:74)
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)

Reply via email to