diff options
author | Haakon Dybdahl <dybis@users.noreply.github.com> | 2016-11-01 11:17:08 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-11-01 11:17:08 +0100 |
commit | c101331fe5644da610e093960f257a29e215b0aa (patch) | |
tree | e812f0c558658dd69ea73ebbc5e96956364b261d /configserver | |
parent | 666ef9fe96674467aa470d08adaae1c59ab1fc35 (diff) | |
parent | 0b5d14ab650685f1daf35ea1288172ac93a6dbc8 (diff) |
Merge pull request #986 from yahoo/hmusum/more-logging-for-activation-lock
More logging to try to debug activation locking issue
Diffstat (limited to 'configserver')
-rw-r--r-- | configserver/src/main/java/com/yahoo/vespa/config/server/deploy/Deployment.java | 14 | ||||
-rw-r--r-- | configserver/src/main/java/com/yahoo/vespa/config/server/tenant/ActivateLock.java | 5 |
2 files changed, 12 insertions, 7 deletions
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/deploy/Deployment.java b/configserver/src/main/java/com/yahoo/vespa/config/server/deploy/Deployment.java index 4ac0385fccd..2ed16e587b6 100644 --- a/configserver/src/main/java/com/yahoo/vespa/config/server/deploy/Deployment.java +++ b/configserver/src/main/java/com/yahoo/vespa/config/server/deploy/Deployment.java @@ -129,9 +129,13 @@ public class Deployment implements com.yahoo.config.provision.Deployment { long sessionId = session.getSessionId(); validateSessionStatus(session); try { - log.log(LogLevel.INFO, "Trying to acquire lock: " + activateLock); - activateLock.acquire(timeoutBudget, ignoreLockFailure); - log.log(LogLevel.INFO, "Lock acquired: " + activateLock); + log.log(LogLevel.INFO, "Trying to acquire lock " + activateLock + " for session " + sessionId); + boolean acquired = activateLock.acquire(timeoutBudget, ignoreLockFailure); + if ( ! acquired) { + log.log(LogLevel.INFO, "Acquiring " + activateLock + " for session " + sessionId + " returned false"); + } + + log.log(LogLevel.INFO, "Lock acquired " + activateLock + " for session " + sessionId); NestedTransaction transaction = new NestedTransaction(); transaction.add(deactivateCurrentActivateNew(localSessionRepo.getActiveSession(session.getApplicationId()), session, ignoreSessionStaleFailure)); @@ -148,9 +152,9 @@ public class Deployment implements com.yahoo.config.provision.Deployment { } catch (Exception e) { throw new InternalServerException("Error activating application", e); } finally { - log.log(LogLevel.INFO, "Trying to release lock: " + activateLock); + log.log(LogLevel.INFO, "Trying to release lock " + activateLock + " for session " + sessionId); activateLock.release(); - log.log(LogLevel.INFO, "Lock released: " + activateLock); + log.log(LogLevel.INFO, "Lock released " + activateLock + " for session " + sessionId); } log.log(LogLevel.INFO, session.logPre() + "Session " + sessionId + " activated successfully using " + diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/tenant/ActivateLock.java b/configserver/src/main/java/com/yahoo/vespa/config/server/tenant/ActivateLock.java index 634b38f6d25..c2950f82db9 100644 --- a/configserver/src/main/java/com/yahoo/vespa/config/server/tenant/ActivateLock.java +++ b/configserver/src/main/java/com/yahoo/vespa/config/server/tenant/ActivateLock.java @@ -23,13 +23,14 @@ public class ActivateLock { this.curatorLock = new CuratorLock(curator, rootPath.append(ACTIVATE_LOCK_NAME).getAbsolute()); } - public synchronized void acquire(TimeoutBudget timeoutBudget, boolean ignoreLockError) { + public synchronized boolean acquire(TimeoutBudget timeoutBudget, boolean ignoreLockError) { try { - curatorLock.tryLock(timeoutBudget.timeLeft().toMillis(), TimeUnit.MILLISECONDS); + return curatorLock.tryLock(timeoutBudget.timeLeft().toMillis(), TimeUnit.MILLISECONDS); } catch (Exception e) { if (!ignoreLockError) { throw new RuntimeException(e); } + return false; } } |