aboutsummaryrefslogtreecommitdiffstats
path: root/configserver/src/main/java/com
diff options
context:
space:
mode:
Diffstat (limited to 'configserver/src/main/java/com')
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/ApplicationRepository.java12
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/ConfigServerBootstrap.java2
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/ConfigServerDB.java4
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/application/Application.java28
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/application/CompressedApplicationInputStream.java8
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/application/PermanentApplicationPackage.java2
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/application/TenantApplications.java6
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/filedistribution/FileDirectory.java10
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/filedistribution/FileDistributionImpl.java4
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/filedistribution/FileServer.java4
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/http/HttpGetConfigHandler.java2
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/http/HttpHandler.java2
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/http/SessionContentStatusListResponse.java2
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/http/TesterClient.java2
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/http/v2/HttpGetConfigHandler.java2
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/modelfactory/ActivatedModelsBuilder.java4
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/modelfactory/ModelsBuilder.java4
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/modelfactory/PreparedModelsBuilder.java6
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/monitoring/Metrics.java6
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/rpc/DelayedConfigResponses.java2
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/rpc/GetConfigProcessor.java4
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/rpc/RpcServer.java11
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionRepository.java8
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionStateWatcher.java5
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/tenant/TenantRepository.java2
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/zookeeper/InitializedCounter.java2
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/zookeeper/ZKApplicationFile.java4
27 files changed, 66 insertions, 82 deletions
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/ApplicationRepository.java b/configserver/src/main/java/com/yahoo/vespa/config/server/ApplicationRepository.java
index 536d8894526..9c6786886ef 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/ApplicationRepository.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/ApplicationRepository.java
@@ -462,12 +462,12 @@ public class ApplicationRepository implements com.yahoo.config.provision.Deploye
static void checkIfActiveHasChanged(Session session, Session activeSession, boolean ignoreStaleSessionFailure) {
long activeSessionAtCreate = session.getActiveSessionAtCreate();
- log.log(Level.FINE, activeSession.logPre() + "active session id at create time=" + activeSessionAtCreate);
+ log.log(Level.FINE, () -> activeSession.logPre() + "active session id at create time=" + activeSessionAtCreate);
if (activeSessionAtCreate == 0) return; // No active session at create time
long sessionId = session.getSessionId();
long activeSessionSessionId = activeSession.getSessionId();
- log.log(Level.FINE, activeSession.logPre() + "sessionId=" + sessionId +
+ log.log(Level.FINE, () -> activeSession.logPre() + "sessionId=" + sessionId +
", current active session=" + activeSessionSessionId);
if (activeSession.isNewerThan(activeSessionAtCreate) &&
activeSessionSessionId != sessionId) {
@@ -579,17 +579,17 @@ public class ApplicationRepository implements com.yahoo.config.provision.Deploye
}
public List<String> deleteUnusedFiledistributionReferences(File fileReferencesPath, Duration keepFileReferences) {
- log.log(Level.FINE, "Keep unused file references for " + keepFileReferences);
+ log.log(Level.FINE, () -> "Keep unused file references for " + keepFileReferences);
if (!fileReferencesPath.isDirectory()) throw new RuntimeException(fileReferencesPath + " is not a directory");
Set<String> fileReferencesInUse = getFileReferencesInUse();
- log.log(Level.FINE, "File references in use : " + fileReferencesInUse);
+ log.log(Level.FINE, () -> "File references in use : " + fileReferencesInUse);
List<String> candidates = sortedUnusedFileReferences(fileReferencesPath, fileReferencesInUse, keepFileReferences);
// Do not delete the newest ones
List<String> fileReferencesToDelete = candidates.subList(0, Math.max(0, candidates.size() - 5));
if (fileReferencesToDelete.size() > 0) {
- log.log(Level.FINE, "Will delete file references not in use: " + fileReferencesToDelete);
+ log.log(Level.FINE, () -> "Will delete file references not in use: " + fileReferencesToDelete);
fileReferencesToDelete.forEach(fileReference -> {
File file = new File(fileReferencesPath, fileReference);
if ( ! IOUtils.recursiveDeleteDir(file))
@@ -619,7 +619,7 @@ public class ApplicationRepository implements com.yahoo.config.provision.Deploye
private List<String> sortedUnusedFileReferences(File fileReferencesPath, Set<String> fileReferencesInUse, Duration keepFileReferences) {
Set<String> fileReferencesOnDisk = getFileReferencesOnDisk(fileReferencesPath);
- log.log(Level.FINE, "File references on disk (in " + fileReferencesPath + "): " + fileReferencesOnDisk);
+ log.log(Level.FINE, () -> "File references on disk (in " + fileReferencesPath + "): " + fileReferencesOnDisk);
Instant instant = Instant.now().minus(keepFileReferences);
return fileReferencesOnDisk
.stream()
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/ConfigServerBootstrap.java b/configserver/src/main/java/com/yahoo/vespa/config/server/ConfigServerBootstrap.java
index 8a7738bc672..62f3e40cb50 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/ConfigServerBootstrap.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/ConfigServerBootstrap.java
@@ -98,7 +98,7 @@ public class ConfigServerBootstrap extends AbstractComponent implements Runnable
this.exitIfRedeployingApplicationsFails = exitIfRedeployingApplicationsFails;
rpcServerExecutor = Executors.newSingleThreadExecutor(new DaemonThreadFactory("config server RPC server"));
- log.log(Level.FINE, "Bootstrap mode: " + mode + ", VIP status mode: " + vipStatusMode);
+ log.log(Level.FINE, () -> "Bootstrap mode: " + mode + ", VIP status mode: " + vipStatusMode);
initializing(vipStatusMode);
switch (mode) {
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/ConfigServerDB.java b/configserver/src/main/java/com/yahoo/vespa/config/server/ConfigServerDB.java
index c788b73720d..8594c7857a9 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/ConfigServerDB.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/ConfigServerDB.java
@@ -68,10 +68,10 @@ public class ConfigServerDB {
for (String pluginDirectory : pluginDirectories) {
bundles.addAll(Bundle.getBundles(new File(pluginDirectory)));
}
- log.log(Level.FINE, "Found " + bundles.size() + " bundles");
+ log.log(Level.FINE, () -> "Found " + bundles.size() + " bundles");
List<Bundle> addedBundles = new ArrayList<>();
for (Bundle bundle : bundles) {
- log.log(Level.FINE, "Bundle in " + bundle.getFile().getAbsolutePath() + " appears to contain " + bundle.getDefEntries().size() + " entries");
+ log.log(Level.FINE, () -> "Bundle in " + bundle.getFile().getAbsolutePath() + " appears to contain " + bundle.getDefEntries().size() + " entries");
configDefinitionDir.addConfigDefinitionsFromBundle(bundle, addedBundles);
addedBundles.add(bundle);
}
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/application/Application.java b/configserver/src/main/java/com/yahoo/vespa/config/server/application/Application.java
index 8e98bf5884b..baded957475 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/application/Application.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/application/Application.java
@@ -105,16 +105,12 @@ public class Application implements ModelResult {
defMd5 = ConfigUtils.getDefMd5(req.getDefContent().asList());
}
ConfigCacheKey cacheKey = new ConfigCacheKey(configKey, defMd5);
- if (logDebug()) {
- debug("Resolving config " + cacheKey);
- }
+ log.log(Level.FINE, () -> TenantRepository.logPre(getId()) + ("Resolving config " + cacheKey));
if (useCache(req)) {
ConfigResponse config = cache.get(cacheKey);
if (config != null) {
- if (logDebug()) {
- debug("Found config " + cacheKey + " in cache");
- }
+ log.log(Level.FINE, () -> TenantRepository.logPre(getId()) + ("Found config " + cacheKey + " in cache"));
metricUpdater.incrementProcTime(System.currentTimeMillis() - start);
return config;
}
@@ -125,9 +121,7 @@ public class Application implements ModelResult {
metricUpdater.incrementFailedRequests();
throw new UnknownConfigDefinitionException("Unable to find config definition for '" + configKey.getNamespace() + "." + configKey.getName());
}
- if (logDebug()) {
- debug("Resolving " + configKey + " with config definition " + def);
- }
+ log.log(Level.FINE, () -> TenantRepository.logPre(getId()) + ("Resolving " + configKey + " with config definition " + def));
ConfigInstance.Builder builder;
ConfigPayload payload;
@@ -174,27 +168,15 @@ public class Application implements ModelResult {
return !request.noCache();
}
- private boolean logDebug() {
- return log.isLoggable(Level.FINE);
- }
-
- private void debug(String message) {
- log.log(Level.FINE, TenantRepository.logPre(getId()) + message);
- }
-
private ConfigDefinition getTargetDef(GetConfigRequest req) {
ConfigKey<?> configKey = req.getConfigKey();
DefContent def = req.getDefContent();
ConfigDefinitionKey configDefinitionKey = new ConfigDefinitionKey(configKey.getName(), configKey.getNamespace());
if (def.isEmpty()) {
- if (logDebug()) {
- debug("No config schema in request for " + configKey);
- }
+ log.log(Level.FINE, () -> TenantRepository.logPre(getId()) + ("No config schema in request for " + configKey));
return cache.getDef(configDefinitionKey);
} else {
- if (logDebug()) {
- debug("Got config schema from request, length:" + def.asList().size() + " : " + configKey);
- }
+ log.log(Level.FINE, () -> TenantRepository.logPre(getId()) + ("Got config schema from request, length:" + def.asList().size() + " : " + configKey));
return new ConfigDefinition(configKey.getName(), def.asStringArray());
}
}
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/application/CompressedApplicationInputStream.java b/configserver/src/main/java/com/yahoo/vespa/config/server/application/CompressedApplicationInputStream.java
index dae5c6aecef..858731b5a89 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/application/CompressedApplicationInputStream.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/application/CompressedApplicationInputStream.java
@@ -89,23 +89,23 @@ public class CompressedApplicationInputStream implements AutoCloseable {
}
private void decompressInto(File application) throws IOException {
- log.log(Level.FINE, "Application is in " + application.getAbsolutePath());
+ log.log(Level.FINE, () -> "Application is in " + application.getAbsolutePath());
int entries = 0;
ArchiveEntry entry;
while ((entry = ais.getNextEntry()) != null) {
- log.log(Level.FINE, "Unpacking " + entry.getName());
+ log.log(Level.FINE, "Unpacking %s", entry.getName());
File outFile = new File(application, entry.getName());
// FIXME/TODO: write more tests that break this logic. I have a feeling it is not very robust.
if (entry.isDirectory()) {
if (!(outFile.exists() && outFile.isDirectory())) {
- log.log(Level.FINE, "Creating dir: " + outFile.getAbsolutePath());
+ log.log(Level.FINE, () -> "Creating dir: " + outFile.getAbsolutePath());
boolean res = outFile.mkdirs();
if (!res) {
log.log(Level.WARNING, "Could not create dir " + entry.getName());
}
}
} else {
- log.log(Level.FINE, "Creating output file: " + outFile.getAbsolutePath());
+ log.log(Level.FINE, () -> "Creating output file: " + outFile.getAbsolutePath());
// Create parent dir if necessary
String parent = outFile.getParent();
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/application/PermanentApplicationPackage.java b/configserver/src/main/java/com/yahoo/vespa/config/server/application/PermanentApplicationPackage.java
index ac994e8405d..a028f92d681 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/application/PermanentApplicationPackage.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/application/PermanentApplicationPackage.java
@@ -25,7 +25,7 @@ public class PermanentApplicationPackage {
File app = new File(getDefaults().underVespaHome(config.applicationDirectory()));
applicationPackage = Optional.ofNullable(app.exists() ? FilesApplicationPackage.fromFile(app) : null);
if (applicationPackage.isPresent()) {
- log.log(Level.FINE, "Detected permanent application package in '" +
+ log.log(Level.FINE, () -> "Detected permanent application package in '" +
getDefaults().underVespaHome(config.applicationDirectory()) +
"'. This might add extra services to config models");
}
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/application/TenantApplications.java b/configserver/src/main/java/com/yahoo/vespa/config/server/application/TenantApplications.java
index eb179d2d9aa..dd514e0d843 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/application/TenantApplications.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/application/TenantApplications.java
@@ -184,7 +184,7 @@ public class TenantApplications implements RequestHandler, HostValidator<Applica
/* A new application is added when a session is added, @see
{@link com.yahoo.vespa.config.server.session.SessionRepository#childEvent(CuratorFramework, PathChildrenCacheEvent)} */
ApplicationId applicationId = ApplicationId.fromSerializedForm(Path.fromString(event.getData().getPath()).getName());
- log.log(Level.FINE, TenantRepository.logPre(applicationId) + "Application added: " + applicationId);
+ log.log(Level.FINE, () -> TenantRepository.logPre(applicationId) + "Application added: " + applicationId);
break;
// Event CHILD_REMOVED will be triggered on all config servers if deleteApplication() above is called on one of them
case CHILD_REMOVED:
@@ -241,7 +241,7 @@ public class TenantApplications implements RequestHandler, HostValidator<Applica
// (when getting event from zookeeper to remove application,
// the lock should be held by the thread that causes the event to happen)
public void removeApplication(ApplicationId applicationId) {
- log.log(Level.FINE, "Removing application " + applicationId);
+ log.log(Level.FINE, () -> "Removing application " + applicationId);
if (exists(applicationId)) {
log.log(Level.INFO, "Tried removing application " + applicationId + ", but it seems to have been deployed again");
return;
@@ -491,7 +491,7 @@ public class TenantApplications implements RequestHandler, HostValidator<Applica
private void logBarrierCompleted(List<String> respondents, Instant startTime) {
Duration duration = Duration.between(startTime, Instant.now());
Level level = (duration.minus(Duration.ofSeconds(5))).isNegative() ? Level.FINE : Level.INFO;
- log.log(level, barrierCompletedMessage(respondents, duration));
+ log.log(level, () -> barrierCompletedMessage(respondents, duration));
}
private String barrierCompletedMessage(List<String> respondents, Duration duration) {
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/filedistribution/FileDirectory.java b/configserver/src/main/java/com/yahoo/vespa/config/server/filedistribution/FileDirectory.java
index 07a686a63bd..f7ba895666b 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/filedistribution/FileDirectory.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/filedistribution/FileDirectory.java
@@ -80,7 +80,7 @@ public class FileDirectory {
if (file.isDirectory()) {
return Files.walk(file.toPath(), 100).map(path -> {
try {
- log.log(Level.FINE, "Calculating hash for '" + path + "'");
+ log.log(Level.FINE, () -> "Calculating hash for '" + path + "'");
return hash(path.toFile(), hasher);
} catch (IOException e) {
log.log(Level.WARNING, "Failed getting hash from '" + path + "'");
@@ -141,15 +141,15 @@ public class FileDirectory {
File destination = new File(tempDestinationDir.toFile(), source.getName());
if (!destinationDir.exists()) {
destinationDir.mkdir();
- log.log(Level.FINE, "file reference ' " + reference.value() + "', source: " + source.getAbsolutePath() );
+ log.log(Level.FINE, () -> "file reference ' " + reference.value() + "', source: " + source.getAbsolutePath() );
if (source.isDirectory()) {
- log.log(Level.FINE, "Copying source " + source.getAbsolutePath() + " to " + destination.getAbsolutePath());
+ log.log(Level.FINE, () -> "Copying source " + source.getAbsolutePath() + " to " + destination.getAbsolutePath());
IOUtils.copyDirectory(source, destination, -1);
} else {
copyFile(source, destination);
}
if (!destinationDir.exists()) {
- log.log(Level.FINE, "Moving from " + tempDestinationDir + " to " + destinationDir.getAbsolutePath());
+ log.log(Level.FINE, () -> "Moving from " + tempDestinationDir + " to " + destinationDir.getAbsolutePath());
if ( ! tempDestinationDir.toFile().renameTo(destinationDir)) {
log.log(Level.WARNING, "Failed moving '" + tempDestinationDir.toFile().getAbsolutePath() + "' to '" + destination.getAbsolutePath() + "'.");
}
@@ -166,7 +166,7 @@ public class FileDirectory {
private void logfileInfo(File file ) throws IOException {
BasicFileAttributes basicFileAttributes = Files.readAttributes(file.toPath(), BasicFileAttributes.class);
- log.log(Level.FINE, "Adding file " + file.getAbsolutePath() + " (created " + basicFileAttributes.creationTime() +
+ log.log(Level.FINE, () -> "Adding file " + file.getAbsolutePath() + " (created " + basicFileAttributes.creationTime() +
", modified " + basicFileAttributes.lastModifiedTime() +
", size " + basicFileAttributes.size() + ")");
}
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/filedistribution/FileDistributionImpl.java b/configserver/src/main/java/com/yahoo/vespa/config/server/filedistribution/FileDistributionImpl.java
index 56bdeab76b2..2eebbfa4acf 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/filedistribution/FileDistributionImpl.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/filedistribution/FileDistributionImpl.java
@@ -49,7 +49,7 @@ public class FileDistributionImpl implements FileDistribution, RequestWaiter {
Request request = new Request("filedistribution.setFileReferencesToDownload");
request.setContext(target);
request.parameters().add(new StringArray(fileReferences.stream().map(FileReference::value).toArray(String[]::new)));
- log.log(Level.FINE, "Executing " + request.methodName() + " against " + target);
+ log.log(Level.FINE, () -> "Executing " + request.methodName() + " against " + target);
target.invokeAsync(request, rpcTimeout, this);
}
@@ -58,7 +58,7 @@ public class FileDistributionImpl implements FileDistribution, RequestWaiter {
public void handleRequestDone(Request req) {
Target target = (Target) req.getContext();
if (req.isError()) {
- log.log(Level.FINE, req.methodName() + " failed for " + target + ": " + req.errorCode() + " (" + req.errorMessage() + ")");
+ log.log(Level.FINE, () -> req.methodName() + " failed for " + target + ": " + req.errorCode() + " (" + req.errorMessage() + ")");
}
if (target != null) target.close();
}
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/filedistribution/FileServer.java b/configserver/src/main/java/com/yahoo/vespa/config/server/filedistribution/FileServer.java
index 66f886a8fcc..c123a0c058f 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/filedistribution/FileServer.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/filedistribution/FileServer.java
@@ -100,7 +100,7 @@ public class FileServer {
try {
return root.getFile(reference).exists();
} catch (IllegalArgumentException e) {
- log.log(Level.FINE, "Failed locating file reference '" + reference + "' with error " + e.toString());
+ log.log(Level.FINE, () -> "Failed locating file reference '" + reference + "' with error " + e.toString());
}
return false;
}
@@ -130,7 +130,7 @@ public class FileServer {
try {
target.receive(fileData, new ReplayStatus(success ? 0 : 1, success ? "OK" : errorDescription));
- log.log(Level.FINE, "Done serving file reference '" + reference.value() + "' with file '" + file.getAbsolutePath() + "'");
+ log.log(Level.FINE, () -> "Done serving file reference '" + reference.value() + "' with file '" + file.getAbsolutePath() + "'");
} catch (Exception e) {
log.log(Level.WARNING, "Failed serving file reference '" + reference.value() + "': " + Exceptions.toMessageString(e));
} finally {
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/http/HttpGetConfigHandler.java b/configserver/src/main/java/com/yahoo/vespa/config/server/http/HttpGetConfigHandler.java
index 7458c82942f..b6f2c2e0919 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/http/HttpGetConfigHandler.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/http/HttpGetConfigHandler.java
@@ -41,7 +41,7 @@ public class HttpGetConfigHandler extends HttpHandler {
}
private ConfigResponse resolveConfig(HttpConfigRequest request) {
- log.log(Level.FINE, "nocache=" + request.noCache());
+ log.log(Level.FINE, () -> "nocache=" + request.noCache());
ConfigResponse config = requestHandler.resolveConfig(ApplicationId.defaultId(), request, Optional.empty());
if (config == null) HttpConfigRequest.throwModelNotReady();
return config;
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/http/HttpHandler.java b/configserver/src/main/java/com/yahoo/vespa/config/server/http/HttpHandler.java
index e92eb52028b..78a7b8aaa8f 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/http/HttpHandler.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/http/HttpHandler.java
@@ -32,7 +32,7 @@ public class HttpHandler extends LoggingRequestHandler {
@Override
public HttpResponse handle(HttpRequest request) {
- log.log(Level.FINE, request.getMethod() + " " + request.getUri().toString());
+ log.log(Level.FINE, () -> request.getMethod() + " " + request.getUri().toString());
try {
switch (request.getMethod()) {
case POST:
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/http/SessionContentStatusListResponse.java b/configserver/src/main/java/com/yahoo/vespa/config/server/http/SessionContentStatusListResponse.java
index 08cda869111..860189a171c 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/http/SessionContentStatusListResponse.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/http/SessionContentStatusListResponse.java
@@ -25,7 +25,7 @@ class SessionContentStatusListResponse extends SlimeJsonResponse {
element.setString("status", f.getMetaData().getStatus());
element.setString("md5", f.getMetaData().getMd5());
element.setString("name", urlBase + f.getPath());
- log.log(Level.FINE, "Adding file " + urlBase + f.getPath());
+ log.log(Level.FINE, () -> "Adding file " + urlBase + f.getPath());
}
}
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/http/TesterClient.java b/configserver/src/main/java/com/yahoo/vespa/config/server/http/TesterClient.java
index 4292a0806c2..43552d317cd 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/http/TesterClient.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/http/TesterClient.java
@@ -65,7 +65,7 @@ public class TesterClient {
}
private HttpResponse execute(HttpUriRequest request, String messageIfRequestFails) {
- logger.log(Level.FINE, "Sending request to tester container " + request.getURI().toString());
+ logger.log(Level.FINE, () -> "Sending request to tester container " + request.getURI().toString());
try {
return new ProxyResponse(httpClient.execute(request));
} catch (IOException e) {
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/http/v2/HttpGetConfigHandler.java b/configserver/src/main/java/com/yahoo/vespa/config/server/http/v2/HttpGetConfigHandler.java
index b4ce833cb75..1787431e841 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/http/v2/HttpGetConfigHandler.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/http/v2/HttpGetConfigHandler.java
@@ -41,7 +41,7 @@ public class HttpGetConfigHandler extends HttpHandler {
}
private ConfigResponse resolveConfig(HttpConfigRequest request, RequestHandler requestHandler) {
- log.log(Level.FINE, "nocache=" + request.noCache());
+ log.log(Level.FINE, () -> "nocache=" + request.noCache());
ConfigResponse config = requestHandler.resolveConfig(request.getApplicationId(), request, Optional.empty());
if (config == null) HttpConfigRequest.throwModelNotReady();
return config;
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/modelfactory/ActivatedModelsBuilder.java b/configserver/src/main/java/com/yahoo/vespa/config/server/modelfactory/ActivatedModelsBuilder.java
index da720ca8cb9..5c0207878f1 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/modelfactory/ActivatedModelsBuilder.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/modelfactory/ActivatedModelsBuilder.java
@@ -102,8 +102,8 @@ public class ActivatedModelsBuilder extends ModelsBuilder<Application> {
Version wantedNodeVespaVersion,
Optional<AllocatedHosts> ignored // Ignored since we have this in the app package for activated models
) {
- log.log(Level.FINE, String.format("Loading model version %s for session %s application %s",
- modelFactory.version(), applicationGeneration, applicationId));
+ log.log(Level.FINE, () -> String.format("Loading model version %s for session %s application %s",
+ modelFactory.version(), applicationGeneration, applicationId));
ModelContext.Properties modelContextProperties = createModelContextProperties(applicationId);
Provisioned provisioned = new Provisioned();
ModelContext modelContext = new ModelContextImpl(
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/modelfactory/ModelsBuilder.java b/configserver/src/main/java/com/yahoo/vespa/config/server/modelfactory/ModelsBuilder.java
index b80037eef56..227e9c6a977 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/modelfactory/ModelsBuilder.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/modelfactory/ModelsBuilder.java
@@ -81,7 +81,7 @@ public abstract class ModelsBuilder<MODELRESULT extends ModelResult> {
SettableOptional<AllocatedHosts> allocatedHosts,
Instant now) {
Instant start = Instant.now();
- log.log(Level.FINE, "Will build models for " + applicationId);
+ log.log(Level.FINE, () -> "Will build models for " + applicationId);
Set<Version> versions = modelFactoryRegistry.allVersions();
// If the application specifies a major, skip models on a newer major
@@ -133,7 +133,7 @@ public abstract class ModelsBuilder<MODELRESULT extends ModelResult> {
}
}
}
- log.log(Level.FINE, "Done building models for " + applicationId + ". Built models for versions " +
+ log.log(Level.FINE, () -> "Done building models for " + applicationId + ". Built models for versions " +
allApplicationModels.stream()
.map(result -> result.getModel().version())
.map(Version::toFullString)
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/modelfactory/PreparedModelsBuilder.java b/configserver/src/main/java/com/yahoo/vespa/config/server/modelfactory/PreparedModelsBuilder.java
index 4dd3171fbf1..7a0a261c7ad 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/modelfactory/PreparedModelsBuilder.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/modelfactory/PreparedModelsBuilder.java
@@ -91,7 +91,7 @@ public class PreparedModelsBuilder extends ModelsBuilder<PreparedModelsBuilder.P
Version wantedNodeVespaVersion,
Optional<AllocatedHosts> allocatedHosts) {
Version modelVersion = modelFactory.version();
- log.log(Level.FINE, "Building model " + modelVersion + " for " + applicationId);
+ log.log(Level.FINE, () -> "Building model " + modelVersion + " for " + applicationId);
// Use empty on non-hosted systems, use already allocated hosts if available, create connection to a host provisioner otherwise
Provisioned provisioned = new Provisioned();
@@ -117,13 +117,13 @@ public class PreparedModelsBuilder extends ModelsBuilder<PreparedModelsBuilder.P
private ModelCreateResult createAndValidateModel(ModelFactory modelFactory, ApplicationId applicationId, Version modelVersion, ModelContext modelContext) {
log.log(properties.zone().system().isCd() ? Level.INFO : Level.FINE,
- "Create and validate model " + modelVersion + " for " + applicationId + ", previous model is " +
+ () -> "Create and validate model " + modelVersion + " for " + applicationId + ", previous model is " +
modelOf(modelVersion).map(Model::version).map(Version::toFullString).orElse("non-existing"));
ValidationParameters validationParameters =
new ValidationParameters(params.ignoreValidationErrors() ? IgnoreValidationErrors.TRUE : IgnoreValidationErrors.FALSE);
ModelCreateResult result = modelFactory.createAndValidateModel(modelContext, validationParameters);
validateModelHosts(hostValidator, applicationId, result.getModel());
- log.log(Level.FINE, "Done building model " + modelVersion + " for " + applicationId);
+ log.log(Level.FINE, () -> "Done building model " + modelVersion + " for " + applicationId);
params.getTimeoutBudget().assertNotTimedOut(() -> "prepare timed out after building model " + modelVersion +
" (timeout " + params.getTimeoutBudget().timeout() + "): " + applicationId);
return result;
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/monitoring/Metrics.java b/configserver/src/main/java/com/yahoo/vespa/config/server/monitoring/Metrics.java
index e3516535b46..dca58665f57 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/monitoring/Metrics.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/monitoring/Metrics.java
@@ -57,7 +57,7 @@ public class Metrics extends AbstractComponent implements MetricUpdaterFactory,
procTimeCounter = createCounter("procTime", statistics);
if (createZkMetricUpdater) {
- log.log(Level.FINE, "Metric update interval is " + healthMonitorConfig.snapshot_interval() + " seconds");
+ log.log(Level.FINE, () -> "Metric update interval is " + healthMonitorConfig.snapshot_interval() + " seconds");
long intervalMs = (long) (healthMonitorConfig.snapshot_interval() * 1000);
executorService = Optional.of(new ScheduledThreadPoolExecutor(1, new DaemonThreadFactory("configserver-metrics")));
executorService.get().scheduleAtFixedRate(this, 20000, intervalMs, TimeUnit.MILLISECONDS);
@@ -130,9 +130,9 @@ public class Metrics extends AbstractComponent implements MetricUpdaterFactory,
@Override
public void run() {
for (MetricUpdater metricUpdater : metricUpdaters.values()) {
- log.log(Level.FINE, "Running metric updater for static values for " + metricUpdater.getDimensions());
+ log.log(Level.FINE, () -> "Running metric updater for static values for " + metricUpdater.getDimensions());
for (Map.Entry<String, Number> fixedMetric : metricUpdater.getStaticMetrics().entrySet()) {
- log.log(Level.FINE, "Setting " + fixedMetric.getKey());
+ log.log(Level.FINE, () -> "Setting " + fixedMetric.getKey());
metric.set(fixedMetric.getKey(), fixedMetric.getValue(), metricUpdater.getMetricContext());
}
}
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/rpc/DelayedConfigResponses.java b/configserver/src/main/java/com/yahoo/vespa/config/server/rpc/DelayedConfigResponses.java
index 9820eac2f30..960efc876ee 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/rpc/DelayedConfigResponses.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/rpc/DelayedConfigResponses.java
@@ -171,7 +171,7 @@ public class DelayedConfigResponses {
*/
final void delayResponse(JRTServerConfigRequest request, GetConfigContext context) {
if (request.isDelayedResponse()) {
- log.log(Level.FINE, context.logPre()+"Request already delayed");
+ log.log(Level.FINE, () -> context.logPre()+"Request already delayed");
} else {
createQueueIfNotExists(context);
BlockingQueue<DelayedConfigResponse> delayedResponsesQueue = delayedResponses.get(context.applicationId());
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/rpc/GetConfigProcessor.java b/configserver/src/main/java/com/yahoo/vespa/config/server/rpc/GetConfigProcessor.java
index 010640b967f..637fc421457 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/rpc/GetConfigProcessor.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/rpc/GetConfigProcessor.java
@@ -49,7 +49,7 @@ class GetConfigProcessor implements Runnable {
Request req = request.getRequest();
if (req.isError()) {
Level logLevel = (req.errorCode() == ErrorCode.APPLICATION_NOT_LOADED) ? Level.FINE : Level.INFO;
- log.log(logLevel, logPre + req.errorMessage());
+ log.log(logLevel, () -> logPre + req.errorMessage());
}
rpcServer.respond(request);
}
@@ -177,7 +177,7 @@ class GetConfigProcessor implements Runnable {
private void debugLog(Trace trace, String message) {
if (logDebug(trace)) {
- log.log(Level.FINE, logPre + message);
+ log.log(Level.FINE, () -> logPre + message);
trace.trace(RpcServer.TRACELEVEL_DEBUG, logPre + message);
}
}
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/rpc/RpcServer.java b/configserver/src/main/java/com/yahoo/vespa/config/server/rpc/RpcServer.java
index 370ae72bbbd..5b9b3077008 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/rpc/RpcServer.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/rpc/RpcServer.java
@@ -280,7 +280,7 @@ public class RpcServer implements Runnable, ReloadListener, TenantListener {
responsesSent++;
}
} else {
- log.log(Level.FINE, logPre + "Timer already cancelled or finished or never scheduled");
+ log.log(Level.FINE, () -> logPre + "Timer already cancelled or finished or never scheduled");
}
}
@@ -292,7 +292,8 @@ public class RpcServer implements Runnable, ReloadListener, TenantListener {
}
}
- log.log(Level.FINE, logPre + "Finished reloading " + responsesSent + " requests");
+ if (log.isLoggable(Level.FINE))
+ log.log(Level.FINE, logPre + "Finished reloading " + responsesSent + " requests");
}
private void logRequestDebug(Level level, String message, JRTServerConfigRequest request) {
@@ -303,7 +304,7 @@ public class RpcServer implements Runnable, ReloadListener, TenantListener {
@Override
public void hostsUpdated(ApplicationId applicationId, Collection<String> newHosts) {
- log.log(Level.FINE, "Updating hosts in tenant host registry '" + hostRegistry + "' with " + newHosts);
+ log.log(Level.FINE, () -> "Updating hosts in tenant host registry '" + hostRegistry + "' with " + newHosts);
hostRegistry.update(applicationId, newHosts);
}
@@ -338,7 +339,7 @@ public class RpcServer implements Runnable, ReloadListener, TenantListener {
if (GetConfigProcessor.logDebug(trace)) {
String message = "Did not find tenant for host '" + hostname + "', using " + TenantName.defaultName();
log.log(Level.FINE, message);
- log.log(Level.FINE, "hosts in host registry: " + hostRegistry.getAllHosts());
+ log.log(Level.FINE, () -> "hosts in host registry: " + hostRegistry.getAllHosts());
trace.trace(6, message);
}
return Optional.empty();
@@ -424,7 +425,7 @@ public class RpcServer implements Runnable, ReloadListener, TenantListener {
@Override
public void onTenantDelete(TenantName tenant) {
- log.log(Level.FINE, TenantRepository.logPre(tenant) +
+ log.log(Level.FINE, () -> TenantRepository.logPre(tenant) +
"Tenant deleted, removing request handler and cleaning host registry");
tenants.remove(tenant);
hostRegistry.removeHostsForKey(tenant);
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionRepository.java b/configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionRepository.java
index 181ed880fd7..cb46d65c4c5 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionRepository.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionRepository.java
@@ -457,9 +457,9 @@ public class SessionRepository {
void confirmUpload(Session session) {
CompletionWaiter waiter = session.getSessionZooKeeperClient().getUploadWaiter();
long sessionId = session.getSessionId();
- log.log(Level.FINE, "Notifying upload waiter for session " + sessionId);
+ log.log(Level.FINE, () -> "Notifying upload waiter for session " + sessionId);
notifyCompletion(waiter);
- log.log(Level.FINE, "Done notifying upload for session " + sessionId);
+ log.log(Level.FINE, () -> "Done notifying upload for session " + sessionId);
}
void notifyCompletion(CompletionWaiter completionWaiter) {
@@ -476,7 +476,7 @@ public class SessionRepository {
KeeperException.NodeExistsException.class);
Class<? extends Throwable> exceptionClass = e.getCause().getClass();
if (acceptedExceptions.contains(exceptionClass))
- log.log(Level.FINE, "Not able to notify completion for session (" + completionWaiter + ")," +
+ log.log(Level.FINE, () -> "Not able to notify completion for session (" + completionWaiter + ")," +
" node " + (exceptionClass.equals(KeeperException.NoNodeException.class)
? "has been deleted"
: "already exists"));
@@ -726,7 +726,7 @@ public class SessionRepository {
} catch (IllegalArgumentException e) {
// We cannot be guaranteed that the file reference exists (it could be that it has not
// been downloaded yet), and e.g when bootstrapping we cannot throw an exception in that case
- log.log(Level.FINE, "File reference for session id " + sessionId + ": " + fileReference + " not found in " + fileDirectory);
+ log.log(Level.FINE, () -> "File reference for session id " + sessionId + ": " + fileReference + " not found in " + fileDirectory);
return;
}
ApplicationId applicationId = sessionZKClient.readApplicationId()
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionStateWatcher.java b/configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionStateWatcher.java
index b27cdbdc341..880519b3d61 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionStateWatcher.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionStateWatcher.java
@@ -91,8 +91,9 @@ public class SessionStateWatcher {
ChildData node = fileCache.getCurrentData();
if (node != null) {
newStatus = Status.parse(Utf8.toString(node.getData()));
- log.log(Level.FINE, session.logPre() + "Session change: Session "
- + session.getSessionId() + " changed status to " + newStatus.name());
+ if (log.isLoggable(Level.FINE))
+ log.log(Level.FINE, session.logPre() + "Session change: Session "
+ + session.getSessionId() + " changed status to " + newStatus.name());
sessionStatusChanged(newStatus);
}
} catch (Exception e) {
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/tenant/TenantRepository.java b/configserver/src/main/java/com/yahoo/vespa/config/server/tenant/TenantRepository.java
index 52d1484897c..1c1d2534341 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/tenant/TenantRepository.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/tenant/TenantRepository.java
@@ -318,7 +318,7 @@ public class TenantRepository {
if (tenants.containsKey(tenantName)) return getTenant(tenantName);
Instant start = Instant.now();
- log.log(Level.FINE, "Adding tenant '" + tenantName);
+ log.log(Level.FINE, () -> "Adding tenant '" + tenantName);
TenantApplications applicationRepo =
new TenantApplications(tenantName,
curator,
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/zookeeper/InitializedCounter.java b/configserver/src/main/java/com/yahoo/vespa/config/server/zookeeper/InitializedCounter.java
index 6a1eaba34a6..216c9edd0d0 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/zookeeper/InitializedCounter.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/zookeeper/InitializedCounter.java
@@ -27,7 +27,7 @@ public class InitializedCounter {
}
private void initializeCounterValue(Long latestSessionId) {
- log.log(Level.FINE, "path=" + sessionsDirPath + ", current=" + latestSessionId);
+ log.log(Level.FINE, () -> "path=" + sessionsDirPath + ", current=" + latestSessionId);
if (latestSessionId != null) {
counter.initialize(latestSessionId);
} else {
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/zookeeper/ZKApplicationFile.java b/configserver/src/main/java/com/yahoo/vespa/config/server/zookeeper/ZKApplicationFile.java
index e598a73ebfb..2a933ddf3e5 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/zookeeper/ZKApplicationFile.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/zookeeper/ZKApplicationFile.java
@@ -148,7 +148,7 @@ class ZKApplicationFile extends ApplicationFile {
StringWriter writer = new StringWriter();
try {
mapper.writeValue(writer, new MetaData(status, input == null ? "" : ConfigUtils.getMd5(input)));
- log.log(Level.FINE, "Writing meta file to " + metaPath);
+ log.log(Level.FINE, () -> "Writing meta file to " + metaPath);
zkApp.putData(metaPath, writer.toString());
} catch (IOException e) {
throw new RuntimeException("Error writing meta file to " + metaPath, e);
@@ -157,7 +157,7 @@ class ZKApplicationFile extends ApplicationFile {
public MetaData getMetaData() {
String metaPath = getZKPath(getMetaPath());
- log.log(Level.FINE, "Getting metadata for " + metaPath);
+ log.log(Level.FINE, () -> "Getting metadata for " + metaPath);
if (!zkApp.exists(getZKPath(path))) {
if (zkApp.exists(metaPath)) {
return getMetaDataFromZk(metaPath);