You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@servicemix.apache.org by RKalaria <ra...@in2m.com> on 2008/08/25 17:55:48 UTC

URGENT : Strange behaviour with load testing with Camel Validator component

Hi,

     We are using servicemix 3.2.2. We are facing couple of strange behavior
while load testing with camel's validator  component. 

    1st Issue :
     Sometimes in parallel request processing we are getting "Schema not
found error" from validation component. This behavior is not consistent it
just happens randomly with only parallel requests (with single request it
works fine). It gives following error :

ERROR - DeadLetterChannel              - Failed delivery for exchangeId:
ID-esb-test1/42641-1219685726074/0-0. On delivery attempt: 0 caught:
org.xml.sax.SAXParseException: schema_reference.4: Failed to read schema
document
'file:/home/ofbiz/apache-servicemix-3.2.2/data/smx/service-assemblies/changepassword-sa/version_1/sus/servicemix-camel/validate-su/updatepassword.xsd',
because 1) could not find the document; 2) the document could not be read;
3) the root element of the document is not <xsd:schema>.
org.xml.sax.SAXParseException: schema_reference.4: Failed to read schema
document
'file:/home/ofbiz/apache-servicemix-3.2.2/data/smx/service-assemblies/changepassword-sa/version_1/sus/servicemix-camel/validate-su/updatepassword.xsd',
because 1) could not find the document; 2) the document could not be read;
3) the root element of the document is not <xsd:schema>.
        at
com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:236)
        at
com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.error(ErrorHandlerWrapper.java:172)
        at
com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:382)
        at
com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:316)
        at
com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.reportSchemaError(XSDHandler.java:2245)
        at
com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.getSchema(XSDHandler.java:1590)
        at
com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.parseSchema(XSDHandler.java:438)
        at
com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaLoader.loadSchema(XMLSchemaLoader.java:556)
        at
com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaLoader.loadGrammar(XMLSchemaLoader.java:523)
        at
com.sun.org.apache.xerces.internal.jaxp.validation.xs.SchemaFactoryImpl.newSchema(SchemaFactoryImpl.java:206)
        at
javax.xml.validation.SchemaFactory.newSchema(SchemaFactory.java:489)
        at
org.apache.camel.processor.validation.ValidatingProcessor.createSchema(ValidatingProcessor.java:204)
        at
org.apache.camel.processor.validation.ValidatingProcessor.getSchema(ValidatingProcessor.java:118)
        at
org.apache.camel.processor.validation.ValidatingProcessor.process(ValidatingProcessor.java:54)
        at
org.apache.camel.impl.ProcessorEndpoint.onExchange(ProcessorEndpoint.java:92)
        at
org.apache.camel.impl.ProcessorEndpoint$1.process(ProcessorEndpoint.java:66)
        at
org.apache.camel.impl.converter.AsyncProcessorTypeConverter$ProcessorToAsyncProcessorBridge.process(AsyncProcessorTypeConverter.java:43)
        at
org.apache.camel.processor.SendProcessor.process(SendProcessor.java:75)
        at
org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:57)
        at
org.apache.camel.processor.DeadLetterChannel.process(DeadLetterChannel.java:155)
        at
org.apache.camel.processor.DeadLetterChannel.process(DeadLetterChannel.java:91)
        at org.apache.camel.processor.Pipeline.process(Pipeline.java:101)
        at org.apache.camel.processor.Pipeline.process(Pipeline.java:85)
        at
org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:57)
        at
org.apache.camel.processor.UnitOfWorkProcessor.process(UnitOfWorkProcessor.java:39)
        at
org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:41)
        at
org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:66)
        at
org.apache.servicemix.camel.CamelJbiEndpoint.handleActiveProviderExchange(CamelJbiEndpoint.java:101)
        at
org.apache.servicemix.camel.CamelJbiEndpoint.process(CamelJbiEndpoint.java:74)
        at
org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:538)
        at
org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:490)
        at
org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLifeCycle.java:46)
        at
org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImpl.java:610)
        at
org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:172)
        at
org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.java:167)
        at
org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java:134)
        at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
        at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
        at java.lang.Thread.run(Thread.java:595)


    2nd Issue :  
    Message flow:
    Client --> HTTP consume SU --> Bean SU --> Camel Validation SU --> Camel
Routing SU --> HTTP Provider SU
    In case I don't get above error then sometimes it just hangs after
processing some validation requests (parallel requests). By observing
JConsole we noticed that Live Threads count is almost constant but the
"Total Threads Started" count just climbs up. It went from 400 to more than
1100 within 3 minutes after this.
 
DEBUG - DeliveryChannelImpl            - SendSync
ID:127.0.0.2-11bfae441c4-5:25 in DeliveryChannel{servicemix-camel}
DEBUG - SecuredBroker                  - send exchange with secure broker
DEBUG - SecuredBroker                  - service name
:{http://servicemix.in2m.com/operations/changepassword}RoutingService
DEBUG - SecuredBroker                  - operation name :null
DEBUG - SedaFlow                       - Called Flow send
DEBUG - DeliveryChannelImpl            - Waiting for exchange
ID:127.0.0.2-11bfae441c4-5:25 (13f28b6d) to be answered in
DeliveryChannel{servicemix-camel} from sendSync

     We have tried hitting around 60 parallel requests. 
     NOTE:- When we tried the same operation without validator component, we
are able to hit around 1000 parallel request without any issue. So it seems
that the issue lies with camel's validator component behavior in parallel
requests.

     Does anybody experienced these kind of problems ? 

     Please provide your suggestions/help for the above issues.

Regards,
Rajesh
-- 
View this message in context: http://www.nabble.com/URGENT-%3A-Strange-behaviour-with-load-testing-with-Camel-Validator-component-tp19146543p19146543.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.