I didn't create a bug for this scenario (as it isn't a bug with jetty, but
rather your set of filters, servlets, or configuration).
what bug are you referring to?


--
Joakim Erdfelt <[email protected]>
webtide.com <http://www.webtide.com/> - intalio.com/jetty
Expert advice, services and support from from the Jetty & CometD experts
eclipse.org/jetty - cometd.org

On Fri, Oct 10, 2014 at 4:34 AM, Matt Deimel <[email protected]> wrote:

> Joakim - thanks for reviewing the code, and creating the bug. Quick
> followup question - do you know how long a bug like this usually takes to
> fix? I can understand that there are no guarantees, I'm just looking for a
> rough estimate - a few days, a few months, etc. I'm curious because the
> project I'm working on will be rolling out in the next month and a half,
> and I'll need to make a call on whether to wait for the fix or not. Thanks!
>
> On Thu, Oct 9, 2014 at 10:43 AM, Joakim Erdfelt <[email protected]>
> wrote:
>
>> Response being committed, means something in your chain, your servlet,
>> your filter, or your CustomResponseWrapper has already started to write a
>> response, and the effort to add a new session cookie cannot be performed at
>> that point in time.
>>
>> Look closer at com.shandianshua.satoshi.online.api.http.filter.
>> ContentEnteiFilter.doFilter(ContentEnteiFilter.java:51)
>>
>> Once the response headers have been sent, the response is "committed" and
>> changes to the response / headers can no longer be made.
>>
>> The last call in your stacktrace, to Request.getSession() is attempting
>> to add an outgoing cookie for the session to the response, but the response
>> has already been started.
>>
>> --
>> Joakim Erdfelt <[email protected]>
>> webtide.com <http://www.webtide.com/> - intalio.com/jetty
>> Expert advice, services and support from from the Jetty & CometD experts
>> eclipse.org/jetty - cometd.org
>>
>> On Thu, Oct 9, 2014 at 8:12 AM, Pikachu Absol <[email protected]>
>> wrote:
>>
>>> Hi,
>>>
>>> I write a filter to do something for the response, and host the war in 
>>> Stable
>>> 9.2.3.v20140905
>>>
>>>     public void doFilter (
>>>         ServletRequest request,
>>>         ServletResponse response,
>>>         FilterChain chain
>>>     ) throws IOException, ServletException {
>>>         HttpServletRequest httpRequest = (HttpServletRequest) request;
>>>         HttpServletResponse httpResponse = (HttpServletResponse)
>>> response;
>>>
>>>         CustomResponseWrapper wrapper =
>>> new CustomResponseWrapper(httpResponse);
>>>         LOG.info("============is commited:\t" + response.isCommitted());
>>> *        chain.doFilter(request, wrapper);*
>>>
>>>          // code never get here
>>>     }
>>>
>>> I got the an exception below:
>>>
>>> 2014-10-09 22:58:23.124:WARN:oejs.ServletHandler:qtp2128697132-18:
>>> /v1/hello
>>> java.lang.IllegalStateException: Response is committed
>>>         at org.eclipse.jetty.server.Request.getSession(Request.java:1401)
>>>         at
>>> org.eclipse.jetty.security.authentication.FormAuthenticator.validateRequest(FormAuthenticator.java:260)
>>>         at
>>> org.eclipse.jetty.security.authentication.DeferredAuthentication.authenticate(DeferredAuthentication.java:68)
>>>         at
>>> org.eclipse.jetty.server.Request.getUserPrincipal(Request.java:1480)
>>>         at
>>> org.springframework.web.servlet.FrameworkServlet.getUsernameForRequest(FrameworkServlet.java:1022)
>>>         at
>>> org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:958)
>>>         at
>>> org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:816)
>>>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:687)
>>>         at
>>> org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:801)
>>>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
>>>         at
>>> org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:769)
>>>         at
>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1667)
>>>         at
>>> org.eclipse.jetty.websocket.server.WebSocketUpgradeFilter.doFilter(WebSocketUpgradeFilter.java:172)
>>>         at
>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1650)
>>>         at
>>> com.shandianshua.satoshi.online.api.http.filter.ContentEnteiFilter.doFilter(ContentEnteiFilter.java:51)
>>>         at
>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1650)
>>>         at
>>> org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)
>>>         at
>>> org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
>>>         at
>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1650)
>>>         at
>>> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:583)
>>>         at
>>> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
>>>         at
>>> org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:553)
>>>         at
>>> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:223)
>>>         at
>>> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1125)
>>>         at
>>> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515)
>>>         at
>>> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)
>>>         at
>>> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1059)
>>>         at
>>> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
>>>         at
>>> org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:215)
>>>         at
>>> org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:110)
>>>         at
>>> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)
>>>         at org.eclipse.jetty.server.Server.handle(Server.java:497)
>>>         at
>>> org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:311)
>>>         at
>>> org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:248)
>>>         at
>>> org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:540)
>>>         at
>>> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:610)
>>>         at
>>> org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:539)
>>>         at java.lang.Thread.run(Thread.java:745)
>>>
>>> Since I can't find any solutions or similar cases on Google, I switch to 
>>> Stable
>>> 8.1.16.v20140903 with the exactly same war, and then the problem just
>>> disappear, everything runs fine.
>>>
>>> Can somebody help ?
>>>
>>> Thanks!
>>>
>>> _______________________________________________
>>> jetty-users mailing list
>>> [email protected]
>>> To change your delivery options, retrieve your password, or unsubscribe
>>> from this list, visit
>>> https://dev.eclipse.org/mailman/listinfo/jetty-users
>>>
>>
>>
>> _______________________________________________
>> jetty-users mailing list
>> [email protected]
>> To change your delivery options, retrieve your password, or unsubscribe
>> from this list, visit
>> https://dev.eclipse.org/mailman/listinfo/jetty-users
>>
>
>
> _______________________________________________
> jetty-users mailing list
> [email protected]
> To change your delivery options, retrieve your password, or unsubscribe
> from this list, visit
> https://dev.eclipse.org/mailman/listinfo/jetty-users
>
_______________________________________________
jetty-users mailing list
[email protected]
To change your delivery options, retrieve your password, or unsubscribe from 
this list, visit
https://dev.eclipse.org/mailman/listinfo/jetty-users

Reply via email to