[ https://issues.apache.org/jira/browse/SOLR-17744?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17947912#comment-17947912 ]
Chris M. Hostetter commented on SOLR-17744: ------------------------------------------- FWIW: backport was clean, tests pass, and manual testing confirms expected behavior – but i'm currently prevented from pushing these changes due to some sort of gitbox/github sync glitch > Solr shutdown does not graceful close Jetty requests/connections > ---------------------------------------------------------------- > > Key: SOLR-17744 > URL: https://issues.apache.org/jira/browse/SOLR-17744 > Project: Solr > Issue Type: New Feature > Reporter: Chris M. Hostetter > Assignee: Chris M. Hostetter > Priority: Major > Attachments: SOLR-17744-1.patch, SOLR-17744.patch > > > Solr does a lot of work internally (via things like SolrCore reference > counting) to ensure that we "finish" in-flight requests on orderly shutdown > (ie: when the user has issued a "stop" command) – but it does not appear that > we are doing anything to ensure that *Jetty* managed resources will also wait > for in process requests to finish. > In particular, Jetty seems to abruptly close any existing & active network > connections to clients, even as Solr continues to process those requests and > try to write out the responses. > There are Jetty features to ensure that shutdown is genuinely "graceful" > (refusing new requests while letting existing ones finish) but Solr doesn't > appear to use/enable these features: > * In Jetty 10 & 11, this is apparently done using the {{StatisticsHandler}} > (as a wrapper around the main handler collection i think?) > ** > [https://github.com/jetty/jetty.project/issues/2076#issuecomment-353578130] > ** > [https://javadoc.jetty.org/jetty-11/org/eclipse/jetty/server/handler/StatisticsHandler.html] > ** > [https://jetty.org/docs/jetty/11/programming-guide/server/http.html#handler-use-util-stats-handler] > * In Jetty 12+ there is a {{graceful}} module that provides a > {{GracefulHandler}} (which seems like a slightly more robust version of what > {{StatisticsHandler}} does in jetty-10, but with less statistics tracking > overhead) > ** > [https://jetty.org/docs/jetty/12/operations-guide/start/index.html#stop-graceful] > ** > [https://jetty.org/docs/jetty/12/operations-guide/modules/standard.html#graceful] > > The net result is that even during planned shutdown (or restart) of Solr > nodes, clients can get lots of errors. -- This message was sent by Atlassian Jira (v8.20.10#820010) --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscr...@solr.apache.org For additional commands, e-mail: issues-h...@solr.apache.org