RetryHelper accumulated a lot of functionality and using it was not
straight-forward for callers. Clean-up the class and add fluent
interface for calling actions with retry:
Object result = retryHelper.changeUpdate(
"myActionName",
batchUpdateFactory -> {
try (BatchUpdate bu = newBatchUpdate(batchUpdateFactory)) {
...
}
return result;
})
.retryOn(LockFailureException.class::isInstance)
...
.call();
With the fluent interface providing an action name is now mandatory
which makes the retry metrics more useful.
Signed-off-by: Edwin Kempin <ekempin@google.com>
Change-Id: Iecdfa5b153ab17f31c8ec1d2dca82b428fcf5800