hbase coprocessor小实践引发的对coprocessor异常处理机制的探究
解决: 第一次执行了,说明协处理加上了,所以就怀疑是不是协处理出什么问题了,因为协处理的管理都在CoprocessorHost类上,所以去看这个类,注意到了这个方法
)RetriesExhaustedWithDetailsException:Failed 1 action:MyAccessDeniedException
.....
后边并没有出现我预期的异常信息及异常栈。
解决:没好办法,debug... 在跟到HConnectionManager的这个方法中时,出现了些问题的端倪,
至此,问题算是找到原因了,所以在prePut报异常那里用DoNotRetryIOException把我自己的异常信息包一下就行了。
然后重新布包,运行,问题解决。
这里有一个问题要说明,重试机制本身没有任何问题,但是对于没必要重试或者其他不愿意重试的场景,重试机制就会让用户无法接受,用上述的方式可以作为一种解决办法。