From bc02293768d4e0434689c34edffe5d9fef9a866b Mon Sep 17 00:00:00 2001 From: Henning Baldersheim Date: Tue, 29 Sep 2020 19:52:28 +0000 Subject: Ensure that the EroorMessage class has been loaded prior to shutdown/close to avoid classloading issue when bundle is gone. --- .../src/main/java/com/yahoo/search/dispatch/rpc/RpcPing.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/container-search/src/main/java/com/yahoo/search/dispatch/rpc/RpcPing.java b/container-search/src/main/java/com/yahoo/search/dispatch/rpc/RpcPing.java index 5992d47855f..26abe92a6f1 100644 --- a/container-search/src/main/java/com/yahoo/search/dispatch/rpc/RpcPing.java +++ b/container-search/src/main/java/com/yahoo/search/dispatch/rpc/RpcPing.java @@ -22,6 +22,7 @@ public class RpcPing implements Pinger, Client.ResponseReceiver { private static final Logger log = Logger.getLogger(RpcPing.class.getName()); private static final String RPC_METHOD = "vespa.searchprotocol.ping"; private static final CompressionType PING_COMPRESSION = CompressionType.NONE; + private static final boolean triggeredClassLoading = ErrorMessage.createBackendCommunicationError("TriggerClassLoading") instanceof ErrorMessage; private final Node node; private final RpcResourcePool resourcePool; @@ -86,7 +87,7 @@ public class RpcPing implements Pinger, Client.ResponseReceiver { @Override public void receive(ResponseOrError response) { - if (clusterMonitor.isClosed()) return; + if (clusterMonitor.isClosed() && ! triggeredClassLoading) return; if (node.isLastReceivedPong(pingSequenceId)) { pongHandler.handle(toPong(response)); } else { -- cgit v1.2.3