Hi, I was trying to do a performance test of BPS on 4 node cluster in my local machine.
I have increased the MySQL max_conections variable count to 300.
When I was trying to send messages in to the cluster I keep getting
following warning message.
[2014-07-07 14:48:29,104] WARN {Transaction} - Unexpected exception from
afterCompletion; continuing
com.hazelcast.nio.serialization.HazelcastSerializationException:
com.hazelcast.core.HazelcastInstanceNotActiveException: Hazelcast instance
is not active!
at
com.hazelcast.nio.serialization.SerializationServiceImpl.handleException(SerializationServiceImpl.java:269)
at
com.hazelcast.nio.serialization.SerializationServiceImpl.toData(SerializationServiceImpl.java:171)
at
com.hazelcast.instance.HazelcastInstanceImpl.getLock(HazelcastInstanceImpl.java:165)
at
com.hazelcast.instance.HazelcastInstanceProxy.getLock(HazelcastInstanceProxy.java:73)
at
org.apache.ode.bpel.engine.HazelcastInstanceLockManager.unlock(HazelcastInstanceLockManager.java:82)
at
org.apache.ode.bpel.engine.BpelEngineImpl$1.afterCompletion(BpelEngineImpl.java:473)
at
org.apache.ode.scheduler.simple.SimpleScheduler$2.afterCompletion(SimpleScheduler.java:333)
at
org.apache.geronimo.transaction.manager.TransactionImpl.afterCompletion(TransactionImpl.java:534)
at
org.apache.geronimo.transaction.manager.TransactionImpl.afterCompletion(TransactionImpl.java:527)
at
org.apache.geronimo.transaction.manager.TransactionImpl.commit(TransactionImpl.java:326)
at
org.apache.geronimo.transaction.manager.TransactionManagerImpl.commit(TransactionManagerImpl.java:238)
at
org.apache.ode.scheduler.simple.SimpleScheduler.execTransaction(SimpleScheduler.java:287)
at
org.apache.ode.scheduler.simple.SimpleScheduler.execTransaction(SimpleScheduler.java:235)
at
org.apache.ode.scheduler.simple.SimpleScheduler$RunJob.call(SimpleScheduler.java:530)
at
org.apache.ode.scheduler.simple.SimpleScheduler$RunJob.call(SimpleScheduler.java:514)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
Caused by: com.hazelcast.core.HazelcastInstanceNotActiveException:
Hazelcast instance is not active!
at
com.hazelcast.nio.serialization.SerializationServiceImpl.toData(SerializationServiceImpl.java:156)
... 18 more
Is there any configurations that I have missed when configuring the cluster
?
I have attached BPS.xml file and datasource.properties file
Regards,
Firzhan
<?xml version="1.0" encoding="UTF-8"?> <!-- ~ Copyright (c) 2005-2010, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. ~ ~ WSO2 Inc. licenses this file to you under the Apache License, ~ Version 2.0 (the "License"); you may not use this file except ~ in compliance with the License. ~ You may obtain a copy of the License at ~ ~ http://www.apache.org/licenses/LICENSE-2.0 ~ ~ Unless required by applicable law or agreed to in writing, ~ software distributed under the License is distributed on an ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY ~ KIND, either express or implied. See the License for the ~ specific language governing permissions and limitations ~ under the License. --> <tns:WSO2BPS xmlns:tns="http://wso2.org/bps/config"> <!-- Database Configuration for WSO2 BPS BPEL Engine's Persistence Storage --> <tns:DataBaseConfig> <!-- Data source configuration. Use data sources created in data sources component. --> <tns:DataSource name="bpsds"> <tns:JNDI contextFactory="com.sun.jndi.rmi.registry.RegistryContextFactory" providerURL="rmi://localhost:2199"/> </tns:DataSource> </tns:DataBaseConfig> <!-- Process dehydration configuration --> <!--<tns:ProcessDehydration maxCount="0" value="true"> <tns:MaxAge value="0"/> </tns:ProcessDehydration>--> <!--<tns:TransactionFactory class=""/>--> <!-- BPEL Event Listeners. They must implement BPELEventListener interface --> <!--<tns:EventListeners> <tns:listener class="org.wso2.bps.SampleEventListener"/> </tns:EventListeners>--> <!--tns:EventListeners> <tns:listener class="org.wso2.carbon.bpel.core.ode.integration.jmx.JmxBpelEventListener"/> </tns:EventListeners--> <!-- BPEL Message Exchange Interceptors. Used to track and handle incoming and out going Messages from BPEL Processes. --> <!--<tns:MexInterceptors> <tns:interceptor class=""/> </tns:MexInterceptors>--> <!-- BPEL Extensions --> <!--<tns:ExtensionBundles> <tns:runtimes> <tns:runtime class="org.wso2.bps.SampleExtensionRuntime"/> </tns:runtimes> <tns:filters> <tns:filter class="org.wso2.bps.SampleCorrelationFilter"/> </tns:filters> </tns:ExtensionBundles>--> <!-- OpenJPA specific configuration properties --> <tns:OpenJPAConfig> <tns:property name="openjpa.FlushBeforeQueries" value="true"/> </tns:OpenJPAConfig> <!-- Message exchange timeout. Default value is 120000ms --> <tns:MexTimeOut value="600000"/> <!-- External Service invocation timeout. Default value is 60000ms --> <tns:ExternalServiceTimeOut value="600000"/> <!-- MultithreadedHttpConnectionManager tuning parameters --> <tns:MultithreadedHttpConnectionManagerConfig> <tns:maxConnectionsPerHost value="800"/> <tns:maxTotalConnections value="900"/> </tns:MultithreadedHttpConnectionManagerConfig> <!-- Process instance cleanup feature in WSO2 Business Process Server allows you to configure periodic process instance cleanup tasks based on various process instance properties to remove process instance data from WSO2 BPS persistence storage. Refer - http://www.quartz-scheduler.org/docs/tutorials/crontrigger.html to declare cron expressions format Following sample configuration schedule a cleanup task at 5:11 PM every day to clean completed process instances. --> <!--<tns:Schedules> <tns:Schedule when="0 11 17 * * ?"> <tns:cleanup> <tns:filter><![CDATA[status=completed]]></tns:filter> </tns:cleanup> </tns:Schedule> </tns:Schedules>--> <!-- By default all the BPEL packages are read from the file system. If you need to Synchronize the file system bpel repository with set the following parameter to true. This will check the timestamp of the BPEL packages in the file system against the BPEL packages in the registry. If they do not match then the BPEL package in the registry is copied to the file system. --> <!--<tns:SyncWithRegistry>false</tns:SyncWithRegistry>--> <!-- The property InMemoryInstanceTimeToLive may be used to limit the time-to-live of in-memory instances. This setting can be useful to avoid memory leaks related to in-memory processes that may get 'stuck' during execution and never terminate (time should be specified in milliseconds) --> <!--tns:InMemoryInstanceTimeToLive>600000</tns:InMemoryInstanceTimeToLive--> <!-- This property can be used to configure ode scheduler thread pool size --> <tns:ODESchedulerThreadPoolSize>125</tns:ODESchedulerThreadPoolSize> <!-- If you are using BPS in a clustered environment, then uncomment blow entry --> <tns:UseDistributedLock>true</tns:UseDistributedLock> <!-- <tns:UseInstanceStateCache>true</tns:UseInstanceStateCache> --> <!-- You can assign a unique id for each node in the cluster using NodeId property --> <!-- <tns:NodeId></tns:NodeId> --> </tns:WSO2BPS>
datasources.properties
Description: Binary data
_______________________________________________ Dev mailing list [email protected] http://wso2.org/cgi-bin/mailman/listinfo/dev
