Return-Path: X-Original-To: apmail-cxf-issues-archive@www.apache.org Delivered-To: apmail-cxf-issues-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 05887EB7E for ; Mon, 14 Jan 2013 15:34:16 +0000 (UTC) Received: (qmail 30446 invoked by uid 500); 14 Jan 2013 15:34:16 -0000 Delivered-To: apmail-cxf-issues-archive@cxf.apache.org Received: (qmail 29969 invoked by uid 500); 14 Jan 2013 15:34:14 -0000 Mailing-List: contact issues-help@cxf.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@cxf.apache.org Delivered-To: mailing list issues@cxf.apache.org Received: (qmail 29939 invoked by uid 99); 14 Jan 2013 15:34:14 -0000 Received: from arcas.apache.org (HELO arcas.apache.org) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 14 Jan 2013 15:34:14 +0000 Date: Mon, 14 Jan 2013 15:34:14 +0000 (UTC) From: "Eirik Bjorsnos (JIRA)" To: issues@cxf.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Updated] (CXF-4751) Schema validation causes false validation error under concurrent load for on outgoing message MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ https://issues.apache.org/jira/browse/CXF-4751?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Eirik Bjorsnos updated CXF-4751: -------------------------------- Affects Version/s: 2.6.1 2.7.1 2.7.2 > Schema validation causes false validation error under concurrent load for on outgoing message > --------------------------------------------------------------------------------------------- > > Key: CXF-4751 > URL: https://issues.apache.org/jira/browse/CXF-4751 > Project: CXF > Issue Type: Bug > Affects Versions: 2.6.1, 2.7.1, 2.7.2 > Environment: Java 6 > Reporter: Eirik Bjorsnos > Attachments: cxf-4751-concurrent-marshalling-with-validation.zip > > > We're observing a small, but noticeable number of requests in our load tests failing with MarshallingErrors caused by schema validation failing when marshalling a JAX-WS annotated response object. > The service is a JAX-WS endpoint with Message.SCHEMA_VALIDATION_ENABLED set to SchemaValidation.SchemaValidationType.OUT (or BOTH). > The error is reproduced in a small JUnit test case. The error could not be reproduced with requests run on a single thread. On two or more threads, the unexpected result is consistently reproducible. > Here is a typical stack trace: > {noformat} > WARNING: Interceptor for {http://www.examples.com/wsdl/HelloService.wsdl}Hello_Service#{http://www.examples.com/wsdl/HelloService.wsdl}sayHello has thrown exception, unwinding now > org.apache.cxf.interceptor.Fault: Marshalling Error: cvc-complex-type.2.4.b: The content of element 'addresses' is not complete. One of '{"http://www.examples.com/wsdl/HelloService.model":addressLine}' is expected. > at org.apache.cxf.jaxb.JAXBEncoderDecoder.marshall(JAXBEncoderDecoder.java:258) > at org.apache.cxf.jaxb.io.DataWriterImpl.write(DataWriterImpl.java:168) > at org.apache.cxf.interceptor.AbstractOutDatabindingInterceptor.writeParts(AbstractOutDatabindingInterceptor.java:123) > at org.apache.cxf.interceptor.BareOutInterceptor.handleMessage(BareOutInterceptor.java:68) > at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:271) > at org.apache.cxf.interceptor.OutgoingChainInterceptor.handleMessage(OutgoingChainInterceptor.java:77) > at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:271) > at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:121) > at org.apache.cxf.transport.http_jetty.JettyHTTPDestination.serviceRequest(JettyHTTPDestination.java:355) > at org.apache.cxf.transport.http_jetty.JettyHTTPDestination.doService(JettyHTTPDestination.java:319) > at org.apache.cxf.transport.http_jetty.JettyHTTPHandler.handle(JettyHTTPHandler.java:72) > at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1074) > at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1010) > 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.HandlerWrapper.handle(HandlerWrapper.java:116) > at org.eclipse.jetty.server.Server.handle(Server.java:365) > at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:485) > at org.eclipse.jetty.server.AbstractHttpConnection.content(AbstractHttpConnection.java:937) > at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.content(AbstractHttpConnection.java:998) > at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:856) > at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:240) > at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82) > at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:627) > at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:51) > 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:680) > Caused by: javax.xml.bind.MarshalException > - with linked exception: > [org.xml.sax.SAXParseException: cvc-complex-type.2.4.b: The content of element 'addresses' is not complete. One of '{"http://www.examples.com/wsdl/HelloService.model":addressLine}' is expected.] > at com.sun.xml.bind.v2.runtime.MarshallerImpl.write(MarshallerImpl.java:318) > at com.sun.xml.bind.v2.runtime.MarshallerImpl.marshal(MarshallerImpl.java:172) > at org.apache.cxf.jaxb.JAXBEncoderDecoder.writeObject(JAXBEncoderDecoder.java:537) > at org.apache.cxf.jaxb.JAXBEncoderDecoder.marshall(JAXBEncoderDecoder.java:233) > ... 27 more > Caused by: org.xml.sax.SAXParseException: cvc-complex-type.2.4.b: The content of element 'addresses' is not complete. One of '{"http://www.examples.com/wsdl/HelloService.model":addressLine}' is expected. > at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:195) > at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.error(ErrorHandlerWrapper.java:131) > at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:384) > at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:318) > at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator$XSIErrorReporter.reportError(XMLSchemaValidator.java:423) > at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.reportSchemaError(XMLSchemaValidator.java:3188) > at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.elementLocallyValidComplexType(XMLSchemaValidator.java:3175) > at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.elementLocallyValidType(XMLSchemaValidator.java:3111) > at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.processElementContent(XMLSchemaValidator.java:3013) > at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.handleEndElement(XMLSchemaValidator.java:2156) > at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.endElement(XMLSchemaValidator.java:824) > at com.sun.org.apache.xerces.internal.jaxp.validation.ValidatorHandlerImpl.endElement(ValidatorHandlerImpl.java:565) > at org.xml.sax.helpers.XMLFilterImpl.endElement(XMLFilterImpl.java:546) > at com.sun.xml.bind.v2.runtime.output.SAXOutput.endTag(SAXOutput.java:128) > at com.sun.xml.bind.v2.runtime.output.XmlOutputAbstractImpl.endTag(XmlOutputAbstractImpl.java:120) > at com.sun.xml.bind.v2.runtime.output.ForkXmlOutput.endTag(ForkXmlOutput.java:87) > at com.sun.xml.bind.v2.runtime.output.NamespaceContextImpl$Element.endElement(NamespaceContextImpl.java:499) > at com.sun.xml.bind.v2.runtime.XMLSerializer.endElement(XMLSerializer.java:314) > at com.sun.xml.bind.v2.runtime.property.ArrayElementProperty.serializeListBody(ArrayElementProperty.java:171) > at com.sun.xml.bind.v2.runtime.property.ArrayERProperty.serializeBody(ArrayERProperty.java:155) > at com.sun.xml.bind.v2.runtime.ClassBeanInfoImpl.serializeBody(ClassBeanInfoImpl.java:340) > at com.sun.xml.bind.v2.runtime.XMLSerializer.childAsXsiType(XMLSerializer.java:696) > at com.sun.xml.bind.v2.runtime.property.SingleElementNodeProperty.serializeBody(SingleElementNodeProperty.java:152) > at com.sun.xml.bind.v2.runtime.ElementBeanInfoImpl$1.serializeBody(ElementBeanInfoImpl.java:157) > at com.sun.xml.bind.v2.runtime.ElementBeanInfoImpl$1.serializeBody(ElementBeanInfoImpl.java:189) > at com.sun.xml.bind.v2.runtime.ElementBeanInfoImpl.serializeBody(ElementBeanInfoImpl.java:316) > at com.sun.xml.bind.v2.runtime.ElementBeanInfoImpl.serializeRoot(ElementBeanInfoImpl.java:323) > at com.sun.xml.bind.v2.runtime.ElementBeanInfoImpl.serializeRoot(ElementBeanInfoImpl.java:72) > at com.sun.xml.bind.v2.runtime.XMLSerializer.childAsRoot(XMLSerializer.java:494) > at com.sun.xml.bind.v2.runtime.MarshallerImpl.write(MarshallerImpl.java:315) > ... 30 more > {noformat} -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira