summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2018-12-04 12:43:18 +0100
committerGitHub <noreply@github.com>2018-12-04 12:43:18 +0100
commit77ce3cc7f38cf6e1bcf73430fa78f3748ba32f3c (patch)
tree64b736da432c088802ad1b1b9916dcbd4b076c31
parent4919edb2f17a4b6764c7421c7b06771c1d411fec (diff)
parent9a32502e091d2ee8847d9290bc417da9ce867f7a (diff)
Merge pull request #7861 from vespa-engine/bjorncs/config-sub-finalizer
Warn during finalization if ConfigSubscriber was not closed
-rw-r--r--config/src/main/java/com/yahoo/config/subscription/ConfigSubscriber.java17
1 files changed, 10 insertions, 7 deletions
diff --git a/config/src/main/java/com/yahoo/config/subscription/ConfigSubscriber.java b/config/src/main/java/com/yahoo/config/subscription/ConfigSubscriber.java
index 47048fa16c7..6a7fba90998 100644
--- a/config/src/main/java/com/yahoo/config/subscription/ConfigSubscriber.java
+++ b/config/src/main/java/com/yahoo/config/subscription/ConfigSubscriber.java
@@ -1,20 +1,22 @@
// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.config.subscription;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.logging.Logger;
-
import com.yahoo.config.ConfigInstance;
import com.yahoo.config.ConfigurationRuntimeException;
import com.yahoo.config.subscription.impl.ConfigSubscription;
import com.yahoo.config.subscription.impl.JRTConfigRequester;
import com.yahoo.log.LogLevel;
-import com.yahoo.yolean.Exceptions;
import com.yahoo.vespa.config.ConfigKey;
import com.yahoo.vespa.config.TimingValues;
+import com.yahoo.yolean.Exceptions;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.logging.Logger;
+
+import static java.util.stream.Collectors.toList;
/**
* Used for subscribing to one or more configs. Can optionally be given a {@link ConfigSource} for the configs
@@ -454,6 +456,7 @@ public class ConfigSubscriber {
protected void finalize() throws Throwable {
try {
if (!isClosed()) {
+ log.log(LogLevel.WARNING, () -> String.format("Closing subscription from finalizer() - close() has not been called (keys=%s)", subscriptionHandles.stream().map(handle -> handle.subscription().getKey().toString()).collect(toList())));
close();
}
} finally {