Jeff Miller created SOLR-11692:
----------------------------------

             Summary: SolrDispatchFilter.closeShield passes the shielded 
response object back to jetty making the stream unclose able
                 Key: SOLR-11692
                 URL: https://issues.apache.org/jira/browse/SOLR-11692
             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


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 response.

Example stack trace:
java.lang.AssertionError: Attempted close of response output stream.
    at 
org.apache.solr.servlet.SolrDispatchFilter$2$1.close(SolrDispatchFilter.java:528)
    at org.eclipse.jetty.server.Dispatcher.commitResponse(Dispatcher.java:315)
    at org.eclipse.jetty.server.Dispatcher.forward(Dispatcher.java:279)
    at org.eclipse.jetty.server.Dispatcher.forward(Dispatcher.java:103)
    at org.eclipse.jetty.servlet.DefaultServlet.doGet(DefaultServlet.java:566)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:734)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
    at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:684)
    at 
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1448)
    at 
org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:385)
    at 
org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:326)
    at 
searchserver.filter.SfdcDispatchFilter.doFilter(SfdcDispatchFilter.java:204)
    at 
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1419)
    at 
org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:455)
    at 
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137)
    at 
org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:557)
    at 
org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231)
    at 
org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1075)
    at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:384)
    at 
org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193)
    at 
org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1009)
    at 
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)
    at 
org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:255)
    at 
org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:154)
    at 
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)
    at org.eclipse.jetty.server.Server.handle(Server.java:370)
    at 
org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:489)
    at 
org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:949)
    at 
org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:1011)
    at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:644)
    at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235)
    at 
org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82)
    at 
org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:668)
    at 
org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:52)
    at 
org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608)
    at 
org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543)
    at java.lang.Thread.run(Thread.java:745)

Related JIRA: SOLR-8933



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org

Reply via email to