risdenk commented on code in PR #848: URL: https://github.com/apache/solr/pull/848#discussion_r868749963
########## solr/solrj/src/java/org/apache/solr/client/solrj/impl/Http2SolrClient.java: ########## @@ -250,16 +250,18 @@ private HttpClient createHttpClient(Builder builder) { public void close() { // we wait for async requests, so far devs don't want to give sugar for this asyncTracker.waitForComplete(); - if (closeClient) { - try { + try { + if (closeClient) { httpClient.setStopTimeout(1000); httpClient.stop(); - } catch (Exception e) { - throw new RuntimeException("Exception on closing client", e); + httpClient.destroy(); Review Comment: I have no idea if `destroy()` is needed, but I was surprised it existed. When I stepped through with the debugger, `destroy` cleaned up more resources which seems to be a good idea on `close()`... ########## solr/solrj/src/java/org/apache/solr/client/solrj/impl/Http2SolrClient.java: ########## @@ -250,16 +250,18 @@ private HttpClient createHttpClient(Builder builder) { public void close() { // we wait for async requests, so far devs don't want to give sugar for this asyncTracker.waitForComplete(); - if (closeClient) { - try { + try { + if (closeClient) { httpClient.setStopTimeout(1000); httpClient.stop(); - } catch (Exception e) { - throw new RuntimeException("Exception on closing client", e); + httpClient.destroy(); + } + } catch (Exception e) { + throw new RuntimeException("Exception on closing client", e); + } finally { + if (shutdownExecutor) { + ExecutorUtil.shutdownNowAndAwaitTermination(executor); } Review Comment: Make sure we shutdown the executor even if the close client fails. We want to interrupt the threads since the client is already closed so no need to keep any threads executing. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: issues-unsubscr...@solr.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscr...@solr.apache.org For additional commands, e-mail: issues-h...@solr.apache.org