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.