summaryrefslogtreecommitdiffstats
path: root/jdisc_core/src/main/java
diff options
context:
space:
mode:
authorBjørn Christian Seime <bjorncs@yahoo-inc.com>2017-06-12 11:36:18 +0200
committerBjørn Christian Seime <bjorncs@yahoo-inc.com>2017-06-12 11:42:38 +0200
commit6d9089f9788e9dd3e975dee2bd02580f7ed4c88e (patch)
treee9e0c8809095c54c7257e4d9c6d988258b84b7a4 /jdisc_core/src/main/java
parent3c4d24437dbbc120d9ee9c9642600024125a649e (diff)
Remove finalizer in ActiveContainer
No instances of the log message has been detected the last month, which indicates that the finalizer is not necessary.
Diffstat (limited to 'jdisc_core/src/main/java')
-rw-r--r--jdisc_core/src/main/java/com/yahoo/jdisc/core/ActiveContainer.java19
-rw-r--r--jdisc_core/src/main/java/com/yahoo/jdisc/core/ActiveContainerDeactivationWatchdog.java9
2 files changed, 1 insertions, 27 deletions
diff --git a/jdisc_core/src/main/java/com/yahoo/jdisc/core/ActiveContainer.java b/jdisc_core/src/main/java/com/yahoo/jdisc/core/ActiveContainer.java
index 51a84a4a6c6..fbc45f000d2 100644
--- a/jdisc_core/src/main/java/com/yahoo/jdisc/core/ActiveContainer.java
+++ b/jdisc_core/src/main/java/com/yahoo/jdisc/core/ActiveContainer.java
@@ -17,15 +17,12 @@ import com.yahoo.jdisc.service.ServerProvider;
import java.net.URI;
import java.util.Map;
-import java.util.logging.Logger;
/**
* @author <a href="mailto:simon@yahoo-inc.com">Simon Thoresen</a>
*/
public class ActiveContainer extends AbstractResource implements CurrentContainer {
- private static final Logger log = Logger.getLogger(ActiveContainer.class.getName());
-
private final ContainerTermination termination;
private final Injector guiceInjector;
private final Iterable<ServerProvider> serverProviders;
@@ -67,22 +64,6 @@ public class ActiveContainer extends AbstractResource implements CurrentContaine
termination.run();
}
- // TODO Get rid of finalizer and use PhantomReference or Java 9 Cleaner instead
- @Override
- protected void finalize() throws Throwable {
- try {
- int retainCount = retainCount();
- if (retainCount > 0) {
- log.severe("Destructing " + this + " through finalizer since reference count never reached zero. " +
- "This is an indication of either a resource leak or invalid use of reference counting. " +
- "Retained references as this moment: " + retainCount);
- destroy();
- }
- } finally {
- super.finalize();
- }
- }
-
/**
* Make this instance retain a reference to the resource until it is destroyed.
*/
diff --git a/jdisc_core/src/main/java/com/yahoo/jdisc/core/ActiveContainerDeactivationWatchdog.java b/jdisc_core/src/main/java/com/yahoo/jdisc/core/ActiveContainerDeactivationWatchdog.java
index a6b4ef03c61..0004d1d818b 100644
--- a/jdisc_core/src/main/java/com/yahoo/jdisc/core/ActiveContainerDeactivationWatchdog.java
+++ b/jdisc_core/src/main/java/com/yahoo/jdisc/core/ActiveContainerDeactivationWatchdog.java
@@ -60,7 +60,7 @@ class ActiveContainerDeactivationWatchdog implements ActiveContainerMetrics, Aut
WATCHDOG_FREQUENCY.getSeconds(),
TimeUnit.SECONDS);
this.scheduler.scheduleAtFixedRate(
- ActiveContainerDeactivationWatchdog::triggerGc,
+ System::gc,
GC_TRIGGER_FREQUENCY.getSeconds(),
GC_TRIGGER_FREQUENCY.getSeconds(),
TimeUnit.SECONDS);
@@ -107,13 +107,6 @@ class ActiveContainerDeactivationWatchdog implements ActiveContainerMetrics, Aut
}
}
- private static void triggerGc() {
- // ActiveContainer has a finalizer, so gc -> finalizer -> gc is required.
- System.gc();
- System.runFinalization();
- System.gc();
- }
-
private List<DeactivatedContainer> getDeactivatedContainersSnapshot() {
Instant now = clock.instant();
synchronized (monitor) {