lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "David Smiley (JIRA)" <>
Subject [jira] [Commented] (SOLR-11692) SolrDispatchFilter.closeShield passes the shielded response object back to jetty making the stream unclose able
Date Fri, 01 Dec 2017 03:00:00 GMT


David Smiley commented on SOLR-11692:

[~millerjeff0] can you attach a patch to the issue instead?  inlining diffs is problematic
due to escaping.  Also, unlike some diffs which need no context, for this one it's necessary
to apply it to notice that your intent was to move the closing until after code that calls
{{chain.doFilter}}.  I looked at SolrDispatchFilter and do note {{chain.doFilter}} is actually
in two places (not one); the second is beyond where you moved it to.  So I think your patch
here only addresses the issue for some cases but not others.  Any way, the fix should be easy.

> SolrDispatchFilter.closeShield passes the shielded response object back to jetty making
the stream unclose able
> ---------------------------------------------------------------------------------------------------------------
>                 Key: SOLR-11692
>                 URL:
>             Project: Solr
>          Issue Type: Bug
>      Security Level: Public(Default Security Level. Issues are Public) 
>          Components: Response Writers
>    Affects Versions: 7.1
>         Environment: Linux/Mac tested
>            Reporter: Jeff Miller
>            Priority: Minor
>              Labels: dispatchlayer, jetty, newbie, streams
>   Original Estimate: 3h
>  Remaining Estimate: 3h
> In test mode we trigger closeShield code in SolrDispatchFilter, however there are code
paths where we passthrough the objects to the DefaultHandler which can no longer close the
> Example stack trace:
> java.lang.AssertionError: Attempted close of response output stream.
>     at org.apache.solr.servlet.SolrDispatchFilter$2$1.close(
>     at org.eclipse.jetty.server.Dispatcher.commitResponse(
>     at org.eclipse.jetty.server.Dispatcher.forward(
>     at org.eclipse.jetty.server.Dispatcher.forward(
>     at org.eclipse.jetty.servlet.DefaultServlet.doGet(
>     at javax.servlet.http.HttpServlet.service(
>     at javax.servlet.http.HttpServlet.service(
>     at org.eclipse.jetty.servlet.ServletHolder.handle(
>     at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(
>     at org.apache.solr.servlet.SolrDispatchFilter.doFilter(
>     at org.apache.solr.servlet.SolrDispatchFilter.doFilter(
>     at searchserver.filter.SfdcDispatchFilter.doFilter(
>     at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(
>     at org.eclipse.jetty.servlet.ServletHandler.doHandle(
>     at org.eclipse.jetty.server.handler.ScopedHandler.handle(
>     at
>     at org.eclipse.jetty.server.session.SessionHandler.doHandle(
>     at org.eclipse.jetty.server.handler.ContextHandler.doHandle(
>     at org.eclipse.jetty.servlet.ServletHandler.doScope(
>     at org.eclipse.jetty.server.session.SessionHandler.doScope(
>     at org.eclipse.jetty.server.handler.ContextHandler.doScope(
>     at org.eclipse.jetty.server.handler.ScopedHandler.handle(
>     at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(
>     at org.eclipse.jetty.server.handler.HandlerCollection.handle(
>     at org.eclipse.jetty.server.handler.HandlerWrapper.handle(
>     at org.eclipse.jetty.server.Server.handle(
>     at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(
>     at org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(
>     at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(
>     at org.eclipse.jetty.http.HttpParser.parseNext(
>     at org.eclipse.jetty.http.HttpParser.parseAvailable(
>     at org.eclipse.jetty.server.AsyncHttpConnection.handle(
>     at
>     at$
>     at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(
>     at org.eclipse.jetty.util.thread.QueuedThreadPool$
>     at
> Related JIRA: SOLR-8933

This message was sent by Atlassian JIRA

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message