You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@servicemix.apache.org by pratibhaG <pr...@in2m.com> on 2008/07/26 14:55:36 UTC

High memory usage and subsequent out of memory issue for concurrent users

I am using servicemix 3.2.1
Following is my thread pool configuration:
servicemix.corePoolSize    = 100
servicemix.maximumPoolSize = 200
servicemix.queueSize       = 256

I am sending 89 users concurrently to test a use case. The message flow is
as follows:

1) Application1 sends message to http-consumer
2) http-consumer sends the request to a bean. 
3) bean adds property in message and sends the message to Camel component
for validation
4) After validation message is sent to Camel routing component which sends
the message to JMS Provider(Topic) and returns response to the calling
application (Application1).
5) Message is subscribed by 2 JMS consumers based on a message selector
property specified for each of them.
6) JMS consumer forward message to a HTTP provider through a Camel routing
in a INOUT mode (Required for error handling)
7) HTTP provider sends the message to another application (Application2).

My servicemix takes 393M memory at startup and when I hit these 89 requests
concurrently it jumps to 707M.  (this information was captured form "top"
command.)

During the processing of these requests I get following error message
randomly:

ERROR - DeadLetterChannel              - Failed delivery for exchangeId:
ID-esb-test1/56696-1217081085126/0-8. On delivery attempt: 0 caught:
org.springframework.jms.UncategorizedJmsException: Uncategorized exception
occured during JMS processing; nested exception is javax.jms.JMSException:
Wire format negociation timeout: peer did not send his wire format.; nested
exception is java.io.IOException: Wire format negociation timeout: peer did
not send his wire format.
org.springframework.jms.UncategorizedJmsException: Uncategorized exception
occured during JMS processing; nested exception is javax.jms.JMSException:
Wire format negociation timeout: peer did not send his wire format.; nested
exception is java.io.IOException: Wire format negociation timeout: peer did
not send his wire format.
Caused by:
javax.jms.JMSException: Wire format negociation timeout: peer did not send
his wire format.
        at
org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:58)
        at
org.apache.activemq.ActiveMQConnection.syncSendPacket(ActiveMQConnection.java:1185)
        at
org.apache.activemq.ActiveMQConnection.ensureConnectionInfoSent(ActiveMQConnection.java:1263)
        at
org.apache.activemq.ActiveMQConnection.createSession(ActiveMQConnection.java:276)
        at
org.springframework.jms.support.JmsAccessor.createSession(JmsAccessor.java:200)
        at
org.springframework.jms.core.JmsTemplate.execute(JmsTemplate.java:419)
        at
org.springframework.jms.core.JmsTemplate.send(JmsTemplate.java:484)
        at
org.springframework.jms.core.JmsTemplate.send(JmsTemplate.java:470)
        at
org.apache.servicemix.jms.endpoints.JmsProviderEndpoint.processInOnly(JmsProviderEndpoint.java:371)
        at
org.apache.servicemix.common.endpoints.ProviderEndpoint.process(ProviderEndpoint.java:100)
        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:170)
        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)
Caused by: java.io.IOException: Wire format negociation timeout: peer did
not send his wire format.
        at
org.apache.activemq.transport.WireFormatNegotiator.oneway(WireFormatNegotiator.java:88)
        at
org.apache.activemq.transport.MutexTransport.oneway(MutexTransport.java:47)
        at
org.apache.activemq.transport.ResponseCorrelator.asyncRequest(ResponseCorrelator.java:69)
        at
org.apache.activemq.transport.ResponseCorrelator.request(ResponseCorrelator.java:74)
        at
org.apache.activemq.ActiveMQConnection.syncSendPacket(ActiveMQConnection.java:1175)
        ... 18 more
DEBUG - DefaultExceptionPolicyStrategy - Finding best suited exception
policy for thrown exception
org.springframework.jms.UncategorizedJmsException


Any further requests lead of Out of Memory error. Following is the error
log:

DEBUG - BeanComponent                  - Received exchange: status: Active,
role: provider
DEBUG - BeanComponent                  - Retrieved correlation id:
ID:127.0.0.2-11b5fae3afe-7:175
INFO  - JBIContainer                  - Activating component for:
[container=ServiceMix,name=ID:127.0.0.2-11b5fae3afe-0:175] with service:
null component:
org.apache.servicemix.client.DefaultServiceMixClient@1e3b5fc9 
INFO  - ComponentMBeanImpl            - Initializing component:
ID:127.0.0.2-11b5fae3afe-0:175
INFO  - ComponentMBeanImpl            - Starting component:
ID:127.0.0.2-11b5fae3afe-0:175
ERROR - ComponentMBeanImpl            - Could not start component
java.lang.OutOfMemoryError: unable to create new native thread
        at java.lang.Thread.start0(Native Method)
        at java.lang.Thread.start(Thread.java:574)
        at
java.util.concurrent.ThreadPoolExecutor.addIfUnderCorePoolSize(ThreadPoolExecutor.java:426)
        at
java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:859)
        at
org.apache.servicemix.executors.impl.ExecutorImpl.execute(ExecutorImpl.java:43)
        at
org.apache.servicemix.executors.WorkManagerWrapper.scheduleWork(WorkManagerWrapper.java:56)
        at
org.apache.activemq.ra.ActiveMQEndpointWorker.connect(ActiveMQEndpointWorker.java:221)
        at
org.apache.activemq.ra.ActiveMQEndpointWorker.start(ActiveMQEndpointWorker.java:197)
        at
org.apache.activemq.ra.ActiveMQResourceAdapter.endpointActivation(ActiveMQResourceAdapter.java:214)
        at
org.apache.servicemix.jbi.nmr.flow.jca.JCAFlow$Connector.start(JCAFlow.java:633)
        at
org.apache.servicemix.jbi.nmr.flow.jca.JCAFlow.onComponentStarted(JCAFlow.java:415)
        at
org.apache.servicemix.jbi.nmr.flow.jca.JCAFlow$2.componentStarted(JCAFlow.java:218)
        at
org.apache.servicemix.jbi.framework.ComponentMBeanImpl.fireEvent(ComponentMBeanImpl.java:598)
        at
org.apache.servicemix.jbi.framework.ComponentMBeanImpl.doStart(ComponentMBeanImpl.java:301)
        at
org.apache.servicemix.jbi.framework.ComponentMBeanImpl.start(ComponentMBeanImpl.java:216)
        at
org.apache.servicemix.jbi.container.JBIContainer.activateComponent(JBIContainer.java:1145)
        at
org.apache.servicemix.jbi.container.JBIContainer.activateComponent(JBIContainer.java:1099)
        at
org.apache.servicemix.jbi.container.JBIContainer.activateComponent(JBIContainer.java:1058)
        at
org.apache.servicemix.jbi.container.JBIContainer.activateComponent(JBIContainer.java:1010)
        at
org.apache.servicemix.client.DefaultServiceMixClient.<init>(DefaultServiceMixClient.java:87)
        at
org.apache.servicemix.client.DefaultServiceMixClient.<init>(DefaultServiceMixClient.java:75)
        at
org.apache.servicemix.jbi.framework.ClientFactory.createClient(ClientFactory.java:62)
        at
com.in2m.servicemix.operations.updateprofile.MessageEnricher.onMessageExchange(MessageEnricher.java:72)
        at
org.apache.servicemix.bean.BeanEndpoint.onProviderExchange(BeanEndpoint.java:235)
        at
org.apache.servicemix.bean.BeanEndpoint.process(BeanEndpoint.java:211)
        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:170)
        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)

What can I do to resolve this problem ? and why does ServiceMix takes so
much memory ?

Pratibha
-- 
View this message in context: http://www.nabble.com/High-memory-usage-and-subsequent-out-of-memory-issue-for-concurrent-users-tp18666527p18666527.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.


Re: High memory usage and subsequent out of memory issue for concurrent users

Posted by Max Hütter <mh...@blue-elephant-systems.com>.
Hi,

I have seen your question and we have a similar problem. We keep getting
these OutOfMemory: unable to create new native thread errors every two days.

Profiling didn't really show what the problem is. We have about 200 threads
running all the time as every component has its own thread (for timeouts, as
I see it). But this shouldn't really be a problem I think.

Is it possibly related to this java.util.concurrent bug:
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6399443

There stacktrace looks just like it.

Best regrads,

Max 

-- 
View this message in context: http://www.nabble.com/High-memory-usage-and-subsequent-out-of-memory-issue-for-concurrent-users-tp18666527p18832072.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.


Re: High memory usage and subsequent out of memory issue for concurrent users

Posted by pratibhaG <pr...@in2m.com>.
just now I have seen two issues 

http://issues.apache.org/activemq/browse/SM-1407
  http://issues.apache.org/activemq/browse/SM-1408

has it anything to do with all these problems? because I am using http
consumer to accept the request.

Prtaibha
-- 
View this message in context: http://www.nabble.com/High-memory-usage-and-subsequent-out-of-memory-issue-for-concurrent-users-tp18666527p18750931.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.


Re: High memory usage and subsequent out of memory issue for concurrent users

Posted by pratibhaG <pr...@in2m.com>.
I have observed them sending a DONE message (The status changes to DONE).
Here are are the logs for request of single user. The DONE you are referring
is same or am I missing something? Also see that the validation never sets
DONE status. Is it expected as I am sending an invalid request or it should
send DONE message?

Here are the logs:
#### message on NMR======: InOut[
  id: ID:192.168.2.64-11b7861e31c-17:0
  status: Active
  role: consumer
  service:
{http://servicemix.in2m.com/operations/changepassword}MessageEnricherService
  in: <?xml version="1.0" encoding="UTF-8"?><request
xmlns="http://www.finicity.com">
        <updatePassword>
                <userName>san</userName>
                        <password>mvelopes</password>
        </updatePassword>
</request>
]
#### message on NMR service======:
{http://servicemix.in2m.com/operations/changepassword}MessageEnricherService
DEBUG - HttpComponent                  - Suspending continuation for
exchange: ID:192.168.2.64-11b7861e31c-17:0
DEBUG - BeanComponent                  - Received exchange: status: Active,
role: provider
DEBUG - BeanComponent                  - Retrieved correlation id:
ID:192.168.2.64-11b7861e31c-17:0
INFO  - JBIContainer                   - Activating component for:
[container=ServiceMix,name=ID:192.168.2.64-11b7861e31c-0:0] with service:
null component: org.apache.servicemix.client.DefaultServiceMixClient@1d71fbe
INFO  - ComponentMBeanImpl             - Initializing component:
ID:192.168.2.64-11b7861e31c-0:0
INFO  - ComponentMBeanImpl             - Starting component:
ID:192.168.2.64-11b7861e31c-0:0
#### message on NMR======: InOut[
  id: ID:192.168.2.64-11b7861e31c-33:0
  status: Active
  role: consumer
  service:
{http://servicemix.in2m.com/operations/changepassword}ValidateService
  in: <?xml version="1.0" encoding="UTF-8"?><request
xmlns="http://www.finicity.com">
        <updatePassword>
                <userName>san</userName>
                        <password>mvelopes</password>
        </updatePassword>
</request>
]
#### message on NMR service======:
{http://servicemix.in2m.com/operations/changepassword}ValidateService
DEBUG - CamelJbiComponent              - Received exchange: status: Active,
role: provider
DEBUG - CamelJbiComponent              - Retrieved correlation id:
ID:192.168.2.64-11b7861e31c-17:0
DEBUG - CamelJbiEndpoint               - Received exchange: InOut[
  id: ID:192.168.2.64-11b7861e31c-33:0
  status: Active
  role: provider
  service:
{http://servicemix.in2m.com/operations/changepassword}ValidateService
  endpoint: camel192-168-2-64-11b7861e31c-21-5
  in: <?xml version="1.0" encoding="UTF-8"?><request
xmlns="http://www.finicity.com">
        <updatePassword>
                <userName>san</userName>
                        <password>mvelopes</password>
        </updatePassword>
</request>
]
DEBUG - DefaultValidationErrorHandler  - error:
org.xml.sax.SAXParseException: cvc-minLength-valid: Value 'san' with length
= '3' is not facet-valid with respect to minLength '6' for type
'userNamePasswordType'.
org.xml.sax.SAXParseException: cvc-minLength-valid: Value 'san' with length
= '3' is not facet-valid with respect to minLength '6' for type
'userNamePasswordType'.
        at
com.sun.org.apache.xerces.internal.jaxp.validation.Util.toSAXParseException(Util.java:109)
        at
com.sun.org.apache.xerces.internal.jaxp.validation.ErrorHandlerAdaptor.error(ErrorHandlerAdaptor.java:104)
        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.XMLSchemaValidator$XSIErrorReporter.reportError(XMLSchemaValidator.java:429)
        at
com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.reportSchemaError(XMLSchemaValidator.java:3185)
        at
com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.elementLocallyValidType(XMLSchemaValidator.java:3113)
        at
com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.processElementContent(XMLSchemaValidator.java:3025)
        at
com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.handleEndElement(XMLSchemaValidator.java:2178)
        at
com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.endElement(XMLSchemaValidator.java:814)
        at
com.sun.org.apache.xerces.internal.jaxp.validation.ValidatorHandlerImpl.endElement(ValidatorHandlerImpl.java:345)
        at
org.apache.xalan.transformer.TransformerIdentityImpl.endElement(TransformerIdentityImpl.java:1101)
        at org.apache.xml.serializer.TreeWalker.endNode(TreeWalker.java:458)
        at
org.apache.xml.serializer.TreeWalker.traverse(TreeWalker.java:149)
        at
org.apache.xalan.transformer.TransformerIdentityImpl.transform(TransformerIdentityImpl.java:389)
        at
com.sun.org.apache.xerces.internal.jaxp.validation.ValidatorImpl.process(ValidatorImpl.java:220)
        at
com.sun.org.apache.xerces.internal.jaxp.validation.ValidatorImpl.validate(ValidatorImpl.java:141)
        at
org.apache.camel.processor.validation.ValidatingProcessor.process(ValidatingProcessor.java:67)
        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.processor.DeadLetterChannel.process(DeadLetterChannel.java:146)
        at
org.apache.camel.processor.DeadLetterChannel.process(DeadLetterChannel.java:90)
        at org.apache.camel.processor.Pipeline.process(Pipeline.java:101)
        at org.apache.camel.processor.Pipeline.process(Pipeline.java:85)
        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:170)
        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)
DEBUG - DefaultValidationErrorHandler  - error:
org.xml.sax.SAXParseException: cvc-type.3.1.3: The value 'san' of element
'userName' is not valid.
org.xml.sax.SAXParseException: cvc-type.3.1.3: The value 'san' of element
'userName' is not valid.
        at
com.sun.org.apache.xerces.internal.jaxp.validation.Util.toSAXParseException(Util.java:109)
        at
com.sun.org.apache.xerces.internal.jaxp.validation.ErrorHandlerAdaptor.error(ErrorHandlerAdaptor.java:104)
        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.XMLSchemaValidator$XSIErrorReporter.reportError(XMLSchemaValidator.java:429)
        at
com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.reportSchemaError(XMLSchemaValidator.java:3185)
        at
com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.elementLocallyValidType(XMLSchemaValidator.java:3114)
        at
com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.processElementContent(XMLSchemaValidator.java:3025)
        at
com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.handleEndElement(XMLSchemaValidator.java:2178)
        at
com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.endElement(XMLSchemaValidator.java:814)
        at
com.sun.org.apache.xerces.internal.jaxp.validation.ValidatorHandlerImpl.endElement(ValidatorHandlerImpl.java:345)
        at
org.apache.xalan.transformer.TransformerIdentityImpl.endElement(TransformerIdentityImpl.java:1101)
        at org.apache.xml.serializer.TreeWalker.endNode(TreeWalker.java:458)
        at
org.apache.xml.serializer.TreeWalker.traverse(TreeWalker.java:149)
        at
org.apache.xalan.transformer.TransformerIdentityImpl.transform(TransformerIdentityImpl.java:389)
        at
com.sun.org.apache.xerces.internal.jaxp.validation.ValidatorImpl.process(ValidatorImpl.java:220)
        at
com.sun.org.apache.xerces.internal.jaxp.validation.ValidatorImpl.validate(ValidatorImpl.java:141)
        at
org.apache.camel.processor.validation.ValidatingProcessor.process(ValidatingProcessor.java:67)
        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.processor.DeadLetterChannel.process(DeadLetterChannel.java:146)
        at
org.apache.camel.processor.DeadLetterChannel.process(DeadLetterChannel.java:90)
        at org.apache.camel.processor.Pipeline.process(Pipeline.java:101)
        at org.apache.camel.processor.Pipeline.process(Pipeline.java:85)
        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:170)
        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)
ERROR - DeadLetterChannel              - Failed delivery for exchangeId:
ID-gpratibha.site/45980-1217495417458/0-0. On delivery attempt: 0 caught:
org.apache.camel.processor.validation.SchemaValidationException: Validation
failed for:
com.sun.org.apache.xerces.internal.jaxp.validation.xs.SchemaImpl@8aa7f4
errors: [org.xml.sax.SAXParseException: cvc-minLength-valid: Value 'san'
with length = '3' is not facet-valid with respect to minLength '6' for type
'userNamePasswordType'., org.xml.sax.SAXParseException: cvc-type.3.1.3: The
value 'san' of element 'userName' is not valid.] on the exchange:
Exchange[JbiMessage:
org.apache.servicemix.jbi.messaging.NormalizedMessageImpl@118b3a3{properties:
{destination={http://servicemix.in2m.com/operations/changepassword}ValidateService,
userPrincipals=[users, director]}}]
org.apache.camel.processor.validation.SchemaValidationException: Validation
failed for:
com.sun.org.apache.xerces.internal.jaxp.validation.xs.SchemaImpl@8aa7f4
errors: [org.xml.sax.SAXParseException: cvc-minLength-valid: Value 'san'
with length = '3' is not facet-valid with respect to minLength '6' for type
'userNamePasswordType'., org.xml.sax.SAXParseException: cvc-type.3.1.3: The
value 'san' of element 'userName' is not valid.] on the exchange:
Exchange[JbiMessage:
org.apache.servicemix.jbi.messaging.NormalizedMessageImpl@118b3a3{properties:
{destination={http://servicemix.in2m.com/operations/changepassword}ValidateService,
userPrincipals=[users, director]}}]
        at
org.apache.camel.processor.validation.DefaultValidationErrorHandler.handleErrors(DefaultValidationErrorHandler.java:77)
        at
org.apache.camel.processor.validation.ValidatingProcessor.process(ValidatingProcessor.java:69)
        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.processor.DeadLetterChannel.process(DeadLetterChannel.java:146)
        at
org.apache.camel.processor.DeadLetterChannel.process(DeadLetterChannel.java:90)
        at org.apache.camel.processor.Pipeline.process(Pipeline.java:101)
        at org.apache.camel.processor.Pipeline.process(Pipeline.java:85)
        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:170)
        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)
DEBUG - DefaultExceptionPolicyStrategy - Finding best suited exception
policy for thrown exception
org.apache.camel.processor.validation.SchemaValidationException
DEBUG - DefaultExceptionPolicyStrategy - Using Exception[ [class
org.apache.camel.processor.validation.SchemaValidationException] ->
[SetBody[ Expression[null]],
To[service:http://servicemix.in2m.com/operations/changepassword/ResponseGeneratorService?mep=in-out]]]
as the exception policy
#### message on NMR======: InOut[
  id: ID:192.168.2.64-11b7861e31c-4:0
  status: Active
  role: consumer
  service:
{http://servicemix.in2m.com/operations/changepassword}ResponseGeneratorService
  in: <?xml version="1.0"
encoding="UTF-8"?><response><status>2000</status><message>Validation
Error</message></response>
]
#### message on NMR service======:
{http://servicemix.in2m.com/operations/changepassword}ResponseGeneratorService
DEBUG - BeanComponent                  - Received exchange: status: Active,
role: provider
DEBUG - BeanComponent                  - Retrieved correlation id: null
#### message on NMR======: InOut[
  id: ID:192.168.2.64-11b7861e31c-4:0
  status: Active
  role: provider
  service:
{http://servicemix.in2m.com/operations/changepassword}ResponseGeneratorService
  endpoint: responeGeneratorEndpoint
  in: <?xml version="1.0"
encoding="UTF-8"?><response><status>2000</status><message>Validation
Error</message></response>
  out: <?xml version="1.0"
encoding="UTF-8"?><response><status>2000</status><message>Validation
Error</message></response>
]
#### message on NMR service======:
{http://servicemix.in2m.com/operations/changepassword}ResponseGeneratorService
#### message on NMR======: InOut[
  id: ID:192.168.2.64-11b7861e31c-4:0
  status: Done
  role: consumer
  service:
{http://servicemix.in2m.com/operations/changepassword}ResponseGeneratorService
  endpoint: responeGeneratorEndpoint
  in: <?xml version="1.0"
encoding="UTF-8"?><response><status>2000</status><message>Validation
Error</message></response>
  out: <?xml version="1.0"
encoding="UTF-8"?><response><status>2000</status><message>Validation
Error</message></response>
]
#### message on NMR service======:
{http://servicemix.in2m.com/operations/changepassword}ResponseGeneratorService
ERROR - DeadLetterChannel              - Failed delivery for exchangeId:
ID-gpratibha.site/45980-1217495417458/0-0. Handled by the failure processor:
Pipeline[setBody(<response><status>2000</status><message>Validation
Error</message></response>),
sendTo(Endpoint[service:http://servicemix.in2m.com/operations/changepassword/ResponseGeneratorService?mep=in-out])]
DEBUG - Pipeline                       - Message exchange has failed so
breaking out of pipeline: Exchange[JbiMessage:
org.apache.servicemix.jbi.messaging.NormalizedMessageImpl@118b3a3{properties:
{destination={http://servicemix.in2m.com/operations/changepassword}ValidateService,
org.apache.camel.Redelivered=true, userPrincipals=[users, director],
org.apache.camel.RedeliveryCounter=1}}] exception:
org.apache.camel.processor.validation.SchemaValidationException: Validation
failed for:
com.sun.org.apache.xerces.internal.jaxp.validation.xs.SchemaImpl@8aa7f4
errors: [org.xml.sax.SAXParseException: cvc-minLength-valid: Value 'san'
with length = '3' is not facet-valid with respect to minLength '6' for type
'userNamePasswordType'., org.xml.sax.SAXParseException: cvc-type.3.1.3: The
value 'san' of element 'userName' is not valid.] on the exchange:
Exchange[JbiMessage:
org.apache.servicemix.jbi.messaging.NormalizedMessageImpl@118b3a3{properties:
{destination={http://servicemix.in2m.com/operations/changepassword}ValidateService,
userPrincipals=[users, director]}}] fault: null
#### message on NMR======: InOut[
  id: ID:192.168.2.64-11b7861e31c-33:0
  status: Active
  role: provider
  service:
{http://servicemix.in2m.com/operations/changepassword}ValidateService
  endpoint: camel192-168-2-64-11b7861e31c-21-5
  in: <?xml version="1.0"
encoding="UTF-8"?><response><status>2000</status><message>Validation
Error</message></response>
  out: <?xml version="1.0"
encoding="UTF-8"?><response><status>2000</status><message>Validation
Error</message></response>
]
#### message on NMR service======:
{http://servicemix.in2m.com/operations/changepassword}ValidateService
DEBUG - BeanComponent                  - Received exchange: status: Done,
role: provider
DEBUG - BeanComponent                  - Retrieved correlation id: null
#### message on NMR======: InOut[
  id: ID:192.168.2.64-11b7861e31c-17:0
  status: Active
  role: provider
  service:
{http://servicemix.in2m.com/operations/changepassword}MessageEnricherService
  endpoint: messageEnricherEndpoint
  in: <?xml version="1.0" encoding="UTF-8"?><request
xmlns="http://www.finicity.com">
        <updatePassword>
                <userName>san</userName>
                        <password>mvelopes</password>
        </updatePassword>
</request>
  out: <?xml version="1.0"
encoding="UTF-8"?><response><status>2000</status><message>Validation
Error</message></response>
]
#### message on NMR service======:
{http://servicemix.in2m.com/operations/changepassword}MessageEnricherService
DEBUG - HttpComponent                  - Received exchange: status: Active,
role: consumer
DEBUG - HttpComponent                  - Retrieved correlation id:
ID:192.168.2.64-11b7861e31c-17:0
DEBUG - HttpComponent                  - Resuming continuation for exchange:
ID:192.168.2.64-11b7861e31c-17:0
DEBUG - JettyContextManager            - Dispatching job:
RetryContinuation@31666837,pending,resumed
DEBUG - HttpComponent                  - Receiving HTTP request: POST
/changepassword/ HTTP/1.1
Authorization: Basic ZGlyZWN0b3I6ZGlyZWN0b3JwYXNz
User-Agent: Jakarta Commons-HttpClient/3.1
Host: 192.168.2.64:8192
Content-Length: 176


#### message on NMR======: InOut[
  id: ID:192.168.2.64-11b7861e31c-17:0
  status: Done
  role: consumer
  service:
{http://servicemix.in2m.com/operations/changepassword}MessageEnricherService
  endpoint: messageEnricherEndpoint
  in: <?xml version="1.0" encoding="UTF-8"?><request
xmlns="http://www.finicity.com">
        <updatePassword>
                <userName>san</userName>
                        <password>mvelopes</password>
        </updatePassword>
</request>
  out: <?xml version="1.0"
encoding="UTF-8"?><response><status>2000</status><message>Validation
Error</message></response>
]
#### message on NMR service======:
{http://servicemix.in2m.com/operations/changepassword}MessageEnricherService
DEBUG - BeanComponent                  - Received exchange: status: Done,
role: provider
DEBUG - BeanComponent                  - Retrieved correlation id:
ID:192.168.2.64-11b7861e31c-17:0
DEBUG - JettyContextManager            - Dispatching job:
SCEP@22342001[d=true,io=1,w=true,b=false|false]


-- 
View this message in context: http://www.nabble.com/High-memory-usage-and-subsequent-out-of-memory-issue-for-concurrent-users-tp18666527p18750469.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.


Re: High memory usage and subsequent out of memory issue for concurrent users

Posted by Guillaume Nodet <gn...@gmail.com>.
Please review your beans endpoint code.  You must have forgotten to
send back a done message after having processed the incoming exchange
or something like that.

On Thu, Jul 31, 2008 at 10:41 AM, pratibhaG <pr...@in2m.com> wrote:
>
> These are the endpoints:
> 2 beans, 1 http consumer, 2 http providers
>
> <bean:endpoint service="cp:MessageEnricherService"
> endpoint="messageEnricherEndpoint" bean="#enricherBean"/>
>  <bean:endpoint service="cp:ResponseGeneratorService"
> endpoint="responeGeneratorEndpoint" bean="#responseGeneratorBean"/>
>
>  <bean id="enricherBean"
> class="com.in2m.servicemix.operations.changepassword.MessageEnricher"/>
>  <bean id="responseGeneratorBean"
> class="com.in2m.servicemix.operations.changepassword.ResponseGenerator"/>
>
>
> <http:consumer service="cp:ChangePassword"
>                 endpoint="changePasswordEndpoint"
>                                 targetService="cp:MessageEnricherService"
>                 locationURI="http://0.0.0.0:8192/changepassword/"
>                 defaultMep="http://www.w3.org/2004/08/wsdl/in-out"
>                                 authMethod="BASIC">
>          <http:ssl>
>                  <http:sslParameters keyStore="classpath:smxprivate.keystore"
>                                                          keyStorePassword="reergf"/>
>          </http:ssl>
>  </http:consumer>
>
>
>
> <http:endpoint service="cp:DirectorService"
>                 endpoint="directorEndpoint"
>                 role="provider"
>
> locationURI="http://192.168.2.68:8080/webapp/control/httpEsbEvent"
>                 defaultMep="http://www.w3.org/2004/08/wsdl/in-out"/>
>
>        <http:endpoint service="cp:PortalService"
>                 endpoint="portalEndpoint"
>                 role="provider"
>
> locationURI="http://192.168.2.71/index.php?option=finicityapirequest&amp;task=esbrequest"
>                 defaultMep="http://www.w3.org/2004/08/wsdl/in-out">
>      <http:ssl>
>                  <http:sslParameters keyStore="classpath:smxprivate.keystore"
>                                                          keyStorePassword="mvelopes"
>                                                          trustStore="classpath:finicitytrust.keystore"
>                                  trustStorePassword="mvelopes"/>
>          </http:ssl>
>        </http:endpoint>
>
>
> --
> View this message in context: http://www.nabble.com/High-memory-usage-and-subsequent-out-of-memory-issue-for-concurrent-users-tp18666527p18750160.html
> Sent from the ServiceMix - User mailing list archive at Nabble.com.
>
>



-- 
Cheers,
Guillaume Nodet
------------------------
Blog: http://gnodet.blogspot.com/

Re: High memory usage and subsequent out of memory issue for concurrent users

Posted by pratibhaG <pr...@in2m.com>.
These are the endpoints:
2 beans, 1 http consumer, 2 http providers

<bean:endpoint service="cp:MessageEnricherService"
endpoint="messageEnricherEndpoint" bean="#enricherBean"/>
  <bean:endpoint service="cp:ResponseGeneratorService"
endpoint="responeGeneratorEndpoint" bean="#responseGeneratorBean"/> 

  <bean id="enricherBean"
class="com.in2m.servicemix.operations.changepassword.MessageEnricher"/>
  <bean id="responseGeneratorBean"
class="com.in2m.servicemix.operations.changepassword.ResponseGenerator"/>


<http:consumer service="cp:ChangePassword"
                 endpoint="changePasswordEndpoint"
	  			 targetService="cp:MessageEnricherService"
                 locationURI="http://0.0.0.0:8192/changepassword/"
                 defaultMep="http://www.w3.org/2004/08/wsdl/in-out"
	  			 authMethod="BASIC">
  	  <http:ssl>
		  <http:sslParameters keyStore="classpath:smxprivate.keystore"
			  				  keyStorePassword="reergf"/>
	  </http:ssl>
  </http:consumer>



<http:endpoint service="cp:DirectorService"
                 endpoint="directorEndpoint"
                 role="provider" 
                
locationURI="http://192.168.2.68:8080/webapp/control/httpEsbEvent"
                 defaultMep="http://www.w3.org/2004/08/wsdl/in-out"/>
	
	<http:endpoint service="cp:PortalService"
                 endpoint="portalEndpoint"
                 role="provider" 
                
locationURI="http://192.168.2.71/index.php?option=finicityapirequest&amp;task=esbrequest"
                 defaultMep="http://www.w3.org/2004/08/wsdl/in-out">
      <http:ssl>
		  <http:sslParameters keyStore="classpath:smxprivate.keystore"
			  				  keyStorePassword="mvelopes"
			  				  trustStore="classpath:finicitytrust.keystore"
	               	          trustStorePassword="mvelopes"/>
	  </http:ssl>
	</http:endpoint>


-- 
View this message in context: http://www.nabble.com/High-memory-usage-and-subsequent-out-of-memory-issue-for-concurrent-users-tp18666527p18750160.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.


Re: High memory usage and subsequent out of memory issue for concurrent users

Posted by Guillaume Nodet <gn...@gmail.com>.
What is your configuration ? Can you paste your xml that defines your
endpoints ?

On Thu, Jul 31, 2008 at 8:18 AM, pratibhaG <pr...@in2m.com> wrote:
>
> I tried setting the configuration as 32/64.
> The problem I am facing is that I don't get response back to my client in
> case I am sending more than 32 requests. As the request is synchronous
> request, my client is waiting for the response . But it gets exchange not
> found exchange not found error after I get time out at smx logs.
>
> Pratibha
> --
> View this message in context: http://www.nabble.com/High-memory-usage-and-subsequent-out-of-memory-issue-for-concurrent-users-tp18666527p18748420.html
> Sent from the ServiceMix - User mailing list archive at Nabble.com.
>
>



-- 
Cheers,
Guillaume Nodet
------------------------
Blog: http://gnodet.blogspot.com/

Re: High memory usage and subsequent out of memory issue for concurrent users

Posted by pratibhaG <pr...@in2m.com>.
I tried setting the configuration as 32/64. 
The problem I am facing is that I don't get response back to my client in
case I am sending more than 32 requests. As the request is synchronous
request, my client is waiting for the response . But it gets exchange not
found exchange not found error after I get time out at smx logs. 

Pratibha
-- 
View this message in context: http://www.nabble.com/High-memory-usage-and-subsequent-out-of-memory-issue-for-concurrent-users-tp18666527p18748420.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.


Re: High memory usage and subsequent out of memory issue for concurrent users

Posted by Guillaume Nodet <gn...@gmail.com>.
The ServiceMix process does not have sufficient memory to create all
the threads.  I would lower the size of the thread pools.  100 / 200
is much too big a value, i would consider 32 / 64 or something like
that.

On Sat, Jul 26, 2008 at 3:00 PM, pratibhaG <pr...@in2m.com> wrote:
>
> I have allocated servicemix a MIN memory as 300M and MAX as 700M. Also I am
> executing java process in a "client" mode.
> Still the problem is same.
>
> pratibha
> --
> View this message in context: http://www.nabble.com/High-memory-usage-and-subsequent-out-of-memory-issue-for-concurrent-users-tp18666527p18666571.html
> Sent from the ServiceMix - User mailing list archive at Nabble.com.
>
>



-- 
Cheers,
Guillaume Nodet
------------------------
Blog: http://gnodet.blogspot.com/

Re: High memory usage and subsequent out of memory issue for concurrent users

Posted by pratibhaG <pr...@in2m.com>.
I have allocated servicemix a MIN memory as 300M and MAX as 700M. Also I am
executing java process in a "client" mode.
Still the problem is same.

pratibha
-- 
View this message in context: http://www.nabble.com/High-memory-usage-and-subsequent-out-of-memory-issue-for-concurrent-users-tp18666527p18666571.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.