Repository: sentry Updated Branches: refs/heads/master 9c28d202a -> 6cf5efdb9
SENTRY-1903 TransactionManager shows retried transactions starting from 0 (Alex Kolbasov, reviewed by Sergio Pena) Project: http://git-wip-us.apache.org/repos/asf/sentry/repo Commit: http://git-wip-us.apache.org/repos/asf/sentry/commit/6cf5efdb Tree: http://git-wip-us.apache.org/repos/asf/sentry/tree/6cf5efdb Diff: http://git-wip-us.apache.org/repos/asf/sentry/diff/6cf5efdb Branch: refs/heads/master Commit: 6cf5efdb984750e14e48d7857cf3b1f41008ebaf Parents: 9c28d20 Author: Alexander Kolbasov <[email protected]> Authored: Wed Aug 30 10:16:27 2017 -0700 Committer: Alexander Kolbasov <[email protected]> Committed: Wed Aug 30 10:16:27 2017 -0700 ---------------------------------------------------------------------- .../provider/db/service/persistent/TransactionManager.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/sentry/blob/6cf5efdb/sentry-provider/sentry-provider-db/src/main/java/org/apache/sentry/provider/db/service/persistent/TransactionManager.java ---------------------------------------------------------------------- diff --git a/sentry-provider/sentry-provider-db/src/main/java/org/apache/sentry/provider/db/service/persistent/TransactionManager.java b/sentry-provider/sentry-provider-db/src/main/java/org/apache/sentry/provider/db/service/persistent/TransactionManager.java index 0a9f3a7..f4ff962 100644 --- a/sentry-provider/sentry-provider-db/src/main/java/org/apache/sentry/provider/db/service/persistent/TransactionManager.java +++ b/sentry-provider/sentry-provider-db/src/main/java/org/apache/sentry/provider/db/service/persistent/TransactionManager.java @@ -228,11 +228,12 @@ public final class TransactionManager { Exception ex = null; long sleepTime = retryWaitTimeMills; - for (int retryNum = 0; retryNum < transactionRetryMax; retryNum++) { + for (int retryNum = 1; retryNum <= transactionRetryMax; retryNum++) { try { return arg.call(); } catch (SentryUserException e) { // throw the sentry exception without retry + LOGGER.warn("Transaction manager encountered non-retriable exception", e); throw e; } catch (Exception e) { ex = e; @@ -241,6 +242,7 @@ public final class TransactionManager { LOGGER.warn("Retrying transaction {}/{} times", retryNum, transactionRetryMax); // Introduce some randomness in the backoff time. + LOGGER.warn("Sleeping for {} milliseconds before retrying", sleepTime); Thread.sleep(sleepTime); int fuzz = random.nextInt((int)sleepTime / 2); sleepTime *= 3;
