diff options
author | Harald Musum <musum@oath.com> | 2018-02-01 09:30:52 +0100 |
---|---|---|
committer | Harald Musum <musum@oath.com> | 2018-02-01 09:30:52 +0100 |
commit | 4525e45fd12f619ee7c1a6c16ffa57ca63a5f1cd (patch) | |
tree | 5247e406929b5c10ec464c06b16ec306af6786f6 /configserver | |
parent | ea972cb60ffccf3a291bb3ddedca36105582a850 (diff) |
Only try to release lock when it is held
Diffstat (limited to 'configserver')
-rw-r--r-- | configserver/src/main/java/com/yahoo/vespa/config/server/deploy/Deployment.java | 13 |
1 files changed, 8 insertions, 5 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 5005ddf309d..74757032eaa 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 @@ -122,10 +122,11 @@ public class Deployment implements com.yahoo.config.provision.Deployment { long sessionId = session.getSessionId(); validateSessionStatus(session); ActivateLock activateLock = tenant.getActivateLock(); + boolean activateLockAcquired = false; try { log.log(LogLevel.DEBUG, "Trying to acquire lock " + activateLock + " for session " + sessionId); - boolean acquired = activateLock.acquire(timeoutBudget, ignoreLockFailure); - if ( ! acquired) { + activateLockAcquired = activateLock.acquire(timeoutBudget, ignoreLockFailure); + if ( ! activateLockAcquired) { throw new ActivationConflictException("Did not get activate lock for session " + sessionId + " within " + timeout); } @@ -143,9 +144,11 @@ public class Deployment implements com.yahoo.config.provision.Deployment { } catch (Exception e) { throw new InternalServerException("Error activating application", e); } finally { - log.log(LogLevel.DEBUG, "Trying to release lock " + activateLock + " for session " + sessionId); - activateLock.release(); - log.log(LogLevel.DEBUG, "Lock released " + activateLock + " for session " + sessionId); + if (activateLockAcquired) { + log.log(LogLevel.DEBUG, "Trying to release lock " + activateLock + " for session " + sessionId); + activateLock.release(); + log.log(LogLevel.DEBUG, "Lock released " + activateLock + " for session " + sessionId); + } } log.log(LogLevel.INFO, session.logPre() + "Session " + sessionId + " activated successfully using " + |