cancel
Showing results for 
Search instead for 
Did you mean: 

Workflow engine hangs-up with large number of process instance

sushantmahajan
Champ in-the-making
Champ in-the-making
Hi All,

I am facing an issue while execution of large number of process instance in parallel. Everything seems to work like charm when executing fewer process instance (say 7-10) but it comes to a pause when the concurrency is increased to say 30. Even the processes already acquired come to a still. Also the other Application components, sharing the same datasource take time to perform the database operations.

Could this be an issue with the datasource or connection pooling not working? I am using a c3p0 datasource implementation.

My datasource configuration looks like -


   <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"
      destroy-method="close">
      <property name="driverClass">
         <value>${dataSource.driverClassName}</value>
      </property>
      <property name="jdbcUrl">
         <value>${dataSource.url}</value>
      </property>
      
      <property name="idleConnectionTestPeriod">
         <value>${idle_connection_test_period}</value>
      </property>
      
      <property name="preferredTestQuery">
         <value>Select 1;</value>
      </property>
      
      <property name="properties">
         <props>         
            <prop key="c3p0.acquire_increment">5</prop>
            <prop key="c3p0.max_size">100</prop>
            <prop key="c3p0.max_statements">0</prop>
            <prop key="c3p0.min_size">10</prop>
            <prop key="user">${dataSource.username}</prop>
            <prop key="password">*********</prop>
         </props>
      </property>
   </bean>
1 REPLY 1

jbarrez
Star Contributor
Star Contributor
It all depends on what you're doing in that process. You seem to have 100 connections, which should be ok for 30 proc insances. However, if your process instances take 10 seconds to finish … you might see stalling obviously.