4 Replies Latest reply on Oct 9, 2011 3:26 PM by abdulkadiryaman

    cxfbc->camel route stability issue

    dzs13

      Hi all,

       

      I modified the "WSDL First OSGi " example so, that the cxfbc consumer sends the request to a camel route.

      I am sending requests one by one from SoapUI.

       

      The problem is that the esb halts after several request. No error is throwns, the ESB simply does not respond. After about 30 secs seems to be some kind of a timeout, a HTTP Response 200 is returned, with an empty body. The ESB never recovers, it needs to be restarted.

       

      I don't think it has to do anything with thread pools, since I am sending the requests one by one.

       

      I am using servicemix 4.3.1-fuse-01-09.

       

      Am I doing something wrong? I cannot get passed beyond 15 consequetive requests.

       

       

       

      My setup is as follows:

       

         

       

       

      regards,

      attila

        • 1. Re: cxfbc->camel route stability issue
          ffang

          Hi,

           

          A quick question

          Does it ever response correctly? This can tell if your camel router correct. In some case, if there's no correct request/response/DONE message sequence for In-Out MEP then it will cause thread leak(a thread will waiting for DONE for ever), your working flow should definitely avoid this situation.

           

          And your cxf bc consumer is using asynchronous mode, which means cxf bc consumer can receive any number of request and send it to the NMR(cxf bc consumer not waiting for the response from nmr and then can send next one, it just receive external  request and send to nmr directly. Only if you use synchronous="true", you can say one external client won't need thread pool configuration),  so even your SOAP UI send request one by one, it still need thread from nmr and servicemix-camel component, so it still need thread pool configuration for such component if your soapui send request too quick.

           

          btw, you can set timeout="timeout_in_secs" for cxf bc consumer endpoint, which can throw exception if timeout reach but no response yet.

           

          Freeman

           

          Freeman

           

          Edited by: ffang on Apr 21, 2011 11:36 AM

          • 2. Re: cxfbc->camel route stability issue
            dzs13

            Hi,

             

            The mep=in-out did the trick. I also set sync=true. It is rock-stable now Thanks for your help.

             

            Still bothers me thouhg, why it could not recover after such a timeout. It locked to such an extent the esb, that it could not shut down (with osgi:shutdown), I needed to kill the process.

             

            regards,

            attila

            • 3. Re: cxfbc->camel route stability issue
              abdulkadiryaman

              I have a similar stability issue in a flow like cxfbc-consumer --> cxfbc-provider. When i load test the consumer, it handles almost 400 tps for almost 300k requests. But then it simply hangs and does not handle requests anymore. While it stalls, i have tested another consumer, it worked perfectly. When i restart bundle from karaf using restart command, it starts to handle again. I have configured nmr/jbi cfg as follows ;

               

              corePoolSize=16

              maximumPoolSize=-1

              queueSize=0

              allowCoreThreadTimeout=true

              keepAliveTime=60000

               

               

              My cxfbc configuration is ;

               

              <cxfbc:consumer xmlns:flow="http://ws.scc.msdp.ssss.com"

                        wsdl="classpath:SubscriptionCreateCommit.wsdl" locationURI="${subscriprioncreatecommit.endpoint.url}"

                        targetEndpoint="scc-wsPort" targetService="flow:SccWsService"

                        useJBIWrapper="false" useSOAPEnvelope="false">

                   </cxfbc:consumer>

               

              I am also attaching servicemix thread dump during issue.

               

              My configuration is as follows ;

               

              Ubuntu 11.04 64bit

              java 1.6.0_27-b07 64bit

              servicemix 4.3.0

              JAVA_OPTS used along with the defaults = -XX:NewSize=256m -XX:MaxNewSize=256m -XX:PermSize=256m -XX:MaxPermSize=256m -XX:+ExplicitGCInvokesConcurrent -verbose:gc

              • 4. Re: cxfbc->camel route stability issue
                abdulkadiryaman

                Please ignore my previous entry due to my issue is related to Apache Ode instead Servicemix.

                 

                Thanks