Hi Sergey,

I'm not updating the objects from my application while responding. I'm
rather returning a list of objects almost directly from my database. But I
can try to do some synchronization to check if it helps.

I saw that there is already an issue reported for this problem:
https://issues.apache.org/jira/browse/CXF-5566.
What makes me wonder is that I cannot reproduce this error when the server
is running on a windows environment. 
On linux it is relatively easy to reproduce the error with the client
application we're developing, but when I tried to reproduce it with load
tests (SOAPUI or a small piece of code using cxf-rt-rs-client) I does not
occur.
This bug occurs when running on open-JDK as well as on the Oracle JDK. 

In one comment in jira you mention the setting
"org.apache.cxf.transport.http_jetty.continuations.disable". I didn't
understand where I can change this setting. Is there a possibility to set
this via blueprint?

I'm also open to workarounds for this issue. I read somewhere that I could
switch jetty for another http module to avoid this, but I'm not sure if this
would have impact on  the performance...

Greetings
Łukasz Biały

-----Original Message-----
Sent: Monday, January 11, 2016 12:54 PM
To: [email protected]
Subject: Re: org.apache.cxf.interceptor.Fault: DISPATCHED,initial

Hi

It is difficult to suggest why an array is written OK in some cases but not
in other cases when the concurrency is high, my immediate thought that may
be the application data are being updated concurrently too which has some
side-effects on the write process

Cheers, Sergey
On 05/01/16 16:48, Łukasz Biały wrote:
> Hi,
>
> Hopefully this is the right mailing list.
>
>
>
> I am having some trouble with CXF inside Karaf.
>
>
> Sometimes, when the same REST is invoked concurrently at the same 
> moment I see the following exception in my log files:
>
>
>
> 2016-01-05 17:11:27,077 | ERROR | qtp1283154258-55 | JAXRSUtils
> | 165 - org.apache.cxf.cxf-rt-frontend-jaxrs - 3.0.7 | Problem with 
> | writing
> the data, class java.util.ArrayList, ContentType: application/json
>
> 2016-01-05 17:11:27,082 | WARN  | qtp1283154258-55 | 
> PhaseInterceptorChain
> | 148 - org.apache.cxf.cxf-core - 3.0.7 | Interceptor for
> {http://my.app/}MyRestEndpointImpl has thrown exception, unwinding now
>
> org.apache.cxf.interceptor.Fault: DISPATCHED,initial
>
>                  at
> org.apache.cxf.jaxrs.interceptor.JAXRSOutInterceptor.handleWriteExcept
> ion(JA 
> XRSOutInterceptor.java:382)[165:org.apache.cxf.cxf-rt-frontend-jaxrs:3
> .0.7]
>
>                  at
> org.apache.cxf.jaxrs.interceptor.JAXRSOutInterceptor.serializeMessage(
> JAXRSO 
> utInterceptor.java:257)[165:org.apache.cxf.cxf-rt-frontend-jaxrs:3.0.7
> ]
>
>                  at
> org.apache.cxf.jaxrs.interceptor.JAXRSOutInterceptor.processResponse(J
> AXRSOu 
> tInterceptor.java:118)[165:org.apache.cxf.cxf-rt-frontend-jaxrs:3.0.7]
>
>                  at
> org.apache.cxf.jaxrs.interceptor.JAXRSOutInterceptor.handleMessage(JAX
> RSOutI 
> nterceptor.java:81)[165:org.apache.cxf.cxf-rt-frontend-jaxrs:3.0.7]
>
>                  at
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseIntercepto
> rChain .java:307)[148:org.apache.cxf.cxf-core:3.0.7]
>
>                  at
> org.apache.cxf.interceptor.OutgoingChainInterceptor.handleMessage(Outg
> oingCh ainInterceptor.java:83)[148:org.apache.cxf.cxf-core:3.0.7]
>
>                  at
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseIntercepto
> rChain .java:307)[148:org.apache.cxf.cxf-core:3.0.7]
>
>                  at
> org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitia
> tionOb server.java:121)[148:org.apache.cxf.cxf-core:3.0.7]
>
>                  at
> org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractH
> TTPDes 
> tination.java:251)[158:org.apache.cxf.cxf-rt-transports-http:3.0.7]
>
>                  at
> org.apache.cxf.transport.servlet.ServletController.invokeDestination(S
> ervlet 
> Controller.java:234)[158:org.apache.cxf.cxf-rt-transports-http:3.0.7]
>
>                  at
>
org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.
> java:208)[158:org.apache.cxf.cxf-rt-transports-http:3.0.7]
>
>                  at
>
org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.
> java:160)[158:org.apache.cxf.cxf-rt-transports-http:3.0.7]
>
>                  at
> org.apache.cxf.transport.servlet.CXFNonSpringServlet.invoke(CXFNonSpri
> ngServ let.java:180)[158:org.apache.cxf.cxf-rt-transports-http:3.0.7]
>
>                  at
> org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(Abs
> tractH 
> TTPServlet.java:293)[158:org.apache.cxf.cxf-rt-transports-http:3.0.7]
>
>                  at
> org.apache.cxf.transport.servlet.AbstractHTTPServlet.doGet(AbstractHTT
> PServl et.java:217)[158:org.apache.cxf.cxf-rt-transports-http:3.0.7]
>
>                  at
> javax.servlet.http.HttpServlet.service(HttpServlet.java:575)[75:org.ap
> ache.g eronimo.specs.geronimo-servlet_3.0_spec:1.0.0]
>
>                  at
> org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractH
> TTPSer vlet.java:268)[158:org.apache.cxf.cxf-rt-transports-http:3.0.7]
>
>                  at
> org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:684)
> [79:or g.eclipse.jetty.aggregate.jetty-all-server:8.1.16.v20140903]
>
>                  at
> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:
> 503)[7 
> 9:org.eclipse.jetty.aggregate.jetty-all-server:8.1.16.v20140903]
>
>                  at
> org.ops4j.pax.web.service.jetty.internal.HttpServiceServletHandler.doH
> andle( 
> HttpServiceServletHandler.java:69)[88:org.ops4j.pax.web.pax-web-jetty:
> 3.2.2]
>
>                  at
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.ja
> va:137 
> )[79:org.eclipse.jetty.aggregate.jetty-all-server:8.1.16.v20140903]
>
>                  at
> org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java
> :557)[ 
> 79:org.eclipse.jetty.aggregate.jetty-all-server:8.1.16.v20140903]
>
>                  at
> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandle
> r.java 
> :231)[79:org.eclipse.jetty.aggregate.jetty-all-server:8.1.16.v20140903
> ]
>
>                  at
> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandle
> r.java 
> :1086)[79:org.eclipse.jetty.aggregate.jetty-all-server:8.1.16.v2014090
> 3]
>
>                  at
> org.ops4j.pax.web.service.jetty.internal.HttpServiceContext.doHandle(H
> ttpSer viceContext.java:240)[88:org.ops4j.pax.web.pax-web-jetty:3.2.2]
>
>                  at
> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:4
> 29)[79 :org.eclipse.jetty.aggregate.jetty-all-server:8.1.16.v20140903]
>
>                  at
>
org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:
> 193)[79:org.eclipse.jetty.aggregate.jetty-all-server:8.1.16.v20140903]
>
>                  at
>
org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:
> 1020)[79:org.eclipse.jetty.aggregate.jetty-all-server:8.1.16.v20140903
> ]
>
>                  at
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.ja
> va:135 
> )[79:org.eclipse.jetty.aggregate.jetty-all-server:8.1.16.v20140903]
>
>                  at
> org.ops4j.pax.web.service.jetty.internal.JettyServerHandlerCollection.
> handle 
>
(JettyServerHandlerCollection.java:75)[88:org.ops4j.pax.web.pax-web-jetty:3.
> 2.2]
>
>                  at
> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.
> java:1 
> 16)[79:org.eclipse.jetty.aggregate.jetty-all-server:8.1.16.v20140903]
>
>                  at
> org.eclipse.jetty.server.Server.handle(Server.java:370)[79:org.eclipse
> .jetty .aggregate.jetty-all-server:8.1.16.v20140903]
>
>                  at
> org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(Abstract
> HttpCo
> nnection.java:494)[79:org.eclipse.jetty.aggregate.jetty-all-server:8.1
> .16.v2
> 0140903]
>
>                  at
> org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(Abstrac
> tHttpC 
> onnection.java:971)[79:org.eclipse.jetty.aggregate.jetty-all-server:8.
> 1.16.v
> 20140903]
>
>                  at
> org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerC
> omplet 
> e(AbstractHttpConnection.java:1033)[79:org.eclipse.jetty.aggregate.jet
> ty-all
> -server:8.1.16.v20140903]
>
>                  at
> org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:644)[79:or
> g.ecli pse.jetty.aggregate.jetty-all-server:8.1.16.v20140903]
>
>                  at
> org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235)[
> 79:org .eclipse.jetty.aggregate.jetty-all-server:8.1.16.v20140903]
>
>                  at
> org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnectio
> n.java 
> :82)[79:org.eclipse.jetty.aggregate.jetty-all-server:8.1.16.v20140903]
>
>                  at
>
org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.
> java:696)[79:org.eclipse.jetty.aggregate.jetty-all-server:8.1.16.v2014
> 0903]
>
>                  at
> org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndP
> oint.j 
> ava:53)[79:org.eclipse.jetty.aggregate.jetty-all-server:8.1.16.v201409
> 03]
>
>                  at
>
org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:
> 608)[79:org.eclipse.jetty.aggregate.jetty-all-server:8.1.16.v20140903]
>
>                  at
> org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.
> java:5 
> 43)[79:org.eclipse.jetty.aggregate.jetty-all-server:8.1.16.v20140903]
>
>                  at java.lang.Thread.run(Thread.java:745)[:1.7.0_79]
>
> Caused by: java.lang.IllegalStateException: DISPATCHED,initial
>
>                  at
> org.eclipse.jetty.server.AsyncContinuation.handling(AsyncContinuation.
> java:3 
> 37)[79:org.eclipse.jetty.aggregate.jetty-all-server:8.1.16.v20140903]
>
>                  at
> org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(Abstract
> HttpCo
> nnection.java:452)[79:org.eclipse.jetty.aggregate.jetty-all-server:8.1
> .16.v2
> 0140903]
>
>                  at
> org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(Abstrac
> tHttpC 
> onnection.java:971)[79:org.eclipse.jetty.aggregate.jetty-all-server:8.
> 1.16.v
> 20140903]
>
>                  at
> org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerC
> omplet 
> e(AbstractHttpConnection.java:1033)[79:org.eclipse.jetty.aggregate.jet
> ty-all
> -server:8.1.16.v20140903]
>
>                  at
> org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:644)[79:or
> g.ecli pse.jetty.aggregate.jetty-all-server:8.1.16.v20140903]
>
>                  at
> org.eclipse.jetty.http.HttpParser.available(HttpParser.java:1234)[79:o
> rg.ecl ipse.jetty.aggregate.jetty-all-server:8.1.16.v20140903]
>
>                  at
> org.eclipse.jetty.server.HttpInput.available(HttpInput.java:73)[79:org
> .eclip se.jetty.aggregate.jetty-all-server:8.1.16.v20140903]
>
>                  at
> org.apache.cxf.helpers.IOUtils.copy(IOUtils.java:183)[148:org.apache.c
> xf.cxf
> -core:3.0.7]
>
>                  at
> org.apache.cxf.helpers.IOUtils.copy(IOUtils.java:142)[148:org.apache.c
> xf.cxf
> -core:3.0.7]
>
>                  at
> org.apache.cxf.io.DelegatingInputStream.cacheInput(DelegatingInputStre
> am.jav a:54)[148:org.apache.cxf.cxf-core:3.0.7]
>
>                  at
> org.apache.cxf.transport.http.AbstractHTTPDestination$1.cacheInput(Abs
> tractH 
> TTPDestination.java:308)[158:org.apache.cxf.cxf-rt-transports-http:3.0
> .7]
>
>                  at
> org.apache.cxf.transport.http.AbstractHTTPDestination.cacheInput(Abstr
> actHTT 
> PDestination.java:582)[158:org.apache.cxf.cxf-rt-transports-http:3.0.7
> ]
>
>                  at
> org.apache.cxf.transport.http.AbstractHTTPDestination.flushHeaders(Abs
> tractH 
> TTPDestination.java:604)[158:org.apache.cxf.cxf-rt-transports-http:3.0
> .7]
>
>                  at
> org.apache.cxf.transport.http.AbstractHTTPDestination.flushHeaders(Abs
> tractH 
> TTPDestination.java:597)[158:org.apache.cxf.cxf-rt-transports-http:3.0
> .7]
>
>                  at
> org.apache.cxf.transport.http.AbstractHTTPDestination$WrappedOutputStr
> eam.on 
> FirstWrite(AbstractHTTPDestination.java:775)[158:org.apache.cxf.cxf-rt
> -trans
> ports-http:3.0.7]
>
>                  at
> org.apache.cxf.io.AbstractWrappedOutputStream.write(AbstractWrappedOut
> putStr eam.java:47)[148:org.apache.cxf.cxf-core:3.0.7]
>
>                  at
> org.codehaus.jackson.impl.Utf8Generator._flushBuffer(Utf8Generator.jav
> a:1754
> )[209:jackson-core-asl:1.9.5]
>
>                  at
> org.codehaus.jackson.impl.Utf8Generator.flush(Utf8Generator.java:1088)
> [209:j
> ackson-core-asl:1.9.5]
>
>                  at
> org.codehaus.jackson.map.ObjectMapper.writeValue(ObjectMapper.java:161
> 5)[210
> :jackson-mapper-asl:1.9.5]
>
>                  at
> org.codehaus.jackson.jaxrs.JacksonJsonProvider.writeTo(JacksonJsonProv
> ider.j
> ava:558)[211:jackson-jaxrs:1.9.5]
>
>                  at
> org.apache.cxf.jaxrs.utils.JAXRSUtils.writeMessageBody(JAXRSUtils.java
> :1381) [165:org.apache.cxf.cxf-rt-frontend-jaxrs:3.0.7]
>
>                  at
> org.apache.cxf.jaxrs.interceptor.JAXRSOutInterceptor.serializeMessage(
> JAXRSO 
> utInterceptor.java:235)[165:org.apache.cxf.cxf-rt-frontend-jaxrs:3.0.7
> ]
>
>                  ... 41 more
>
>
>
> The next REST invocation after this exception gets a random response, 
> from an unrelated REST method. Also there are timeouts when invoking 
> REST methods.
> I would really appreciate some help with this issue, as aim out of 
> ideas on this one.
>
>
> Greetings
>
> Lukasz Bialy
>
>


--
Sergey Beryozkin

Talend Community Coders
http://coders.talend.com/

Reply via email to