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/