Description
HBaseTestingUtility has good methods for waiting conditions, but with one drawback, when waitfor fails, there is no way to explain what happened (fail() called from internals and that is not very easy to intercept and explain state of failure).
That would be great to have enhanced Predicate which can explain state after it failed to wait for.
That can looks like
HBaseTestingUtility.waitFor(10000, new ExplainingPredicate() { boolean evaluate() { ... some evaluation code } String explain() { ... generate brief explanation of what to be expected, but not happened } }