diff options
author | Jon Marius Venstad <venstad@gmail.com> | 2022-01-24 09:57:45 +0100 |
---|---|---|
committer | Jon Marius Venstad <venstad@gmail.com> | 2022-01-24 09:57:45 +0100 |
commit | dd2386a177c94d9c4aacf692bf4112008043998a (patch) | |
tree | abcaf8f143864eca4d7ea984598f00b4cfad6840 /container-core | |
parent | c9ac4edeec6a905bedbfb6d605acb3dd7034262c (diff) |
Ensure only provider shuts down the VespaDocumentAccess
Diffstat (limited to 'container-core')
2 files changed, 10 insertions, 3 deletions
diff --git a/container-core/src/main/java/com/yahoo/container/core/documentapi/DocumentAccessProvider.java b/container-core/src/main/java/com/yahoo/container/core/documentapi/DocumentAccessProvider.java index 7f1a069fd92..44a70ea2f3b 100644 --- a/container-core/src/main/java/com/yahoo/container/core/documentapi/DocumentAccessProvider.java +++ b/container-core/src/main/java/com/yahoo/container/core/documentapi/DocumentAccessProvider.java @@ -33,7 +33,7 @@ public class DocumentAccessProvider implements Provider<VespaDocumentAccess> { @Override public void deconstruct() { - access.shutdown(); + access.protectedShutdown(); } diff --git a/container-core/src/main/java/com/yahoo/container/core/documentapi/VespaDocumentAccess.java b/container-core/src/main/java/com/yahoo/container/core/documentapi/VespaDocumentAccess.java index 87a5a90dde3..6976299cc7d 100644 --- a/container-core/src/main/java/com/yahoo/container/core/documentapi/VespaDocumentAccess.java +++ b/container-core/src/main/java/com/yahoo/container/core/documentapi/VespaDocumentAccess.java @@ -1,7 +1,6 @@ // Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.container.core.documentapi; -import com.yahoo.cloud.config.SlobroksConfig; import com.yahoo.document.config.DocumentmanagerConfig; import com.yahoo.document.select.parser.ParseException; import com.yahoo.documentapi.AsyncParameters; @@ -19,12 +18,14 @@ import com.yahoo.documentapi.VisitorSession; import com.yahoo.documentapi.messagebus.MessageBusDocumentAccess; import com.yahoo.documentapi.messagebus.MessageBusParams; import com.yahoo.documentapi.messagebus.loadtypes.LoadTypeSet; -import com.yahoo.messagebus.MessagebusConfig; import com.yahoo.documentapi.messagebus.protocol.DocumentProtocolPoliciesConfig; +import com.yahoo.messagebus.MessagebusConfig; import com.yahoo.vespa.config.content.DistributionConfig; import com.yahoo.vespa.config.content.LoadTypeConfig; import java.util.concurrent.atomic.AtomicReference; +import java.util.logging.Level; +import java.util.logging.Logger; /** * Wraps a lazily initialised {@link DocumentAccess}. Lazy to allow it to always be set up. @@ -34,6 +35,8 @@ import java.util.concurrent.atomic.AtomicReference; */ public class VespaDocumentAccess extends DocumentAccess { + private static final Logger log = Logger.getLogger(VespaDocumentAccess.class.getName()); + private final MessageBusParams parameters; private final AtomicReference<DocumentAccess> delegate = new AtomicReference<>(); @@ -68,6 +71,10 @@ public class VespaDocumentAccess extends DocumentAccess { @Override public void shutdown() { + log.log(Level.WARNING, "This injected document access should only be shut down by the container", new IllegalStateException()); + } + + void protectedShutdown() { delegate.updateAndGet(access -> { super.shutdown(); shutDown = true; |