aboutsummaryrefslogtreecommitdiffstats
path: root/configserver
diff options
context:
space:
mode:
authorHaakon Dybdahl <dybis@users.noreply.github.com>2016-11-01 11:17:08 +0100
committerGitHub <noreply@github.com>2016-11-01 11:17:08 +0100
commitc101331fe5644da610e093960f257a29e215b0aa (patch)
treee812f0c558658dd69ea73ebbc5e96956364b261d /configserver
parent666ef9fe96674467aa470d08adaae1c59ab1fc35 (diff)
parent0b5d14ab650685f1daf35ea1288172ac93a6dbc8 (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.java14
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/tenant/ActivateLock.java5
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;
}
}