[JBoss JIRA] Commented: (JBPM-2043) Add jBPM performance test coverage
by Thomas Diesler (JIRA)
[ https://jira.jboss.org/jira/browse/JBPM-2043?page=com.atlassian.jira.plug... ]
Thomas Diesler commented on JBPM-2043:
--------------------------------------
After some cleaning up of the test - here are my hsqldb results. I still don't think there is a performance issue.
I resolve as done. Perhaps better performance test coverage is needed that also covers non-trivial use cases.
/home/tdiesler/svn/jbpm/jbpm3/branches/jpdl-3.2.2-SOA-4.2/jpdl/jar
[tdiesler@tddell jar]$ ant -Dtest=org.jbpm.perf.SimplePerformanceTest one-test
one-test:
[junit] Running org.jbpm.perf.SimplePerformanceTest
[junit] === Test finished processing 1000 instances in 24818ms ===
[junit] === This is 40 instances per second ===
[junit] Tests run: 1, Failures: 0, Errors: 0, Time elapsed: 127.012 sec
one-test:
[junit] Running org.jbpm.perf.SimplePerformanceTest
[junit] === Test finished processing 1000 instances in 26972ms ===
[junit] === This is 37 instances per second ===
[junit] Tests run: 1, Failures: 0, Errors: 0, Time elapsed: 126.891 sec
one-test:
[junit] Running org.jbpm.perf.SimplePerformanceTest
[junit] === Test finished processing 1000 instances in 24594ms ===
[junit] === This is 40 instances per second ===
[junit] Tests run: 1, Failures: 0, Errors: 0, Time elapsed: 123.103 sec
/home/tdiesler/svn/jbpm/jbpm3/branches/jbpm-3.2.5.SP/modules/core
[tdiesler@tddell core]$ mvn -Dtest=SimplePerformanceTest test
Running org.jbpm.perf.SimplePerformanceTest
=== Test finished processing 1000 instances in 14912ms ===
=== This is 67 instances per second ===
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 36.415 sec
Running org.jbpm.perf.SimplePerformanceTest
=== Test finished processing 1000 instances in 15293ms ===
=== This is 65 instances per second ===
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 37.522 sec
Running org.jbpm.perf.SimplePerformanceTest
=== Test finished processing 1000 instances in 15483ms ===
=== This is 64 instances per second ===
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 36.777 sec
> Add jBPM performance test coverage
> ----------------------------------
>
> Key: JBPM-2043
> URL: https://jira.jboss.org/jira/browse/JBPM-2043
> Project: JBoss jBPM
> Issue Type: Task
> Security Level: Public(Everyone can see)
> Components: Productization
> Affects Versions: jBPM 3.2.5 GA
> Environment: SOA 4.3.0 CP01 CR2
> Reporter: Pavel Macik
> Assignee: Pavel Macik
> Fix For: jBPM-3.2.5.SP2
>
>
> Performance of jBPM has dropped significantly according to
> http://hudson.qa.jboss.com/hudson/view/SOA-Performance/job/SOA-Platform-P...
> Other performance has not changed much so the performance drop is isolated to jBPM.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
15 years, 10 months
[JBoss JIRA] Created: (JBPM-1471) Do not signal ENDED super process token when ending process instance
by Pavel Kadlec (JIRA)
Do not signal ENDED super process token when ending process instance
--------------------------------------------------------------------
Key: JBPM-1471
URL: https://jira.jboss.org/jira/browse/JBPM-1471
Project: JBoss jBPM
Issue Type: Bug
Security Level: Public (Everyone can see)
Affects Versions: jPDL 3.2.3
Reporter: Pavel Kadlec
The path of execution of the super process token should not continue when the token was ended. If it is not tested, the ended super process token is signalled and the path of execution continues. I think it should not.
I suggest following fix to org.jbpm.graph.exe.ProcessInstance.end() method. There is one change in if statement bellow...
/**
* ends (=cancels) this process instance and all the tokens in it.
*/
public void end() {
// end the main path of execution
rootToken.end();
if (end==null) {
// mark this process instance as ended
end = Clock.getCurrentTime();
// fire the process-end event
ExecutionContext executionContext = new ExecutionContext(rootToken);
processDefinition.fireEvent(Event.EVENTTYPE_PROCESS_END, executionContext);
// add the process instance end log
rootToken.addLog(new ProcessInstanceEndLog());
// check if this process was started as a subprocess of a super process
if (superProcessToken!=null && !superProcessToken.hasEnded()) { // THIS IS THE FIX, TEST IF SUPER PROCESS TOKEN HAS ENDED
addCascadeProcessInstance(superProcessToken.getProcessInstance());
ExecutionContext superExecutionContext = new ExecutionContext(superProcessToken);
superExecutionContext.setSubProcessInstance(this);
superProcessToken.signal(superExecutionContext);
}
// make sure all the timers for this process instance are cancelled when the process end updates get saved in the database.
// TODO route this directly through the jobSession. just like the suspend and resume.
// NOTE Only timers should be deleted, messages-type of jobs should be kept.
SchedulerService schedulerService = (SchedulerService) Services.getCurrentService(Services.SERVICENAME_SCHEDULER, false);
if (schedulerService!=null) schedulerService.deleteTimersByProcessInstance(this);
}
}
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
15 years, 10 months
[JBoss JIRA] Reopened: (JBPM-2043) Add jBPM performance test coverage
by Pavel Macik (JIRA)
[ https://jira.jboss.org/jira/browse/JBPM-2043?page=com.atlassian.jira.plug... ]
Pavel Macik reopened JBPM-2043:
-------------------------------
This is my environment (hope, that it help to reproduce):
Maven version: 2.0.9
Java version: 1.5.0_16
OS name: "linux" version: "2.6.27.12-170.2.5.fc10.i686" arch: "i386" Family: "unix"
Ant version: 1.7.1 compiled on June 27 2008
Scenario (tests run 5x):
First, check out the branches below...
1. (5x) in jpdl-3.2.2-SOA-4.2/jpdl/jar/
[pmacik@localhost jar]$ ant -Dtest=org.jbpm.perf.AsyncCallTest one-test
[junit] === Test finished processing 1000 instances in 7942ms ===
[junit] === This is 125 instances per second ===
[junit] === Test finished processing 1000 instances in 8821ms ===
[junit] === This is 113 instances per second ===
[junit] === Test finished processing 1000 instances in 8384ms ===
[junit] === This is 119 instances per second ===
[junit] === Test finished processing 1000 instances in 8515ms ===
[junit] === This is 117 instances per second ===
[junit] === Test finished processing 1000 instances in 8527ms ===
[junit] === This is 117 instances per second ===
2. (5x) in jbpm-3.2.5.SP
[pmacik@localhost jbpm-3.2.5.SP]$ mvn -Dtest=AsyncCallTest test
=== Test finished processing 1000 instances in 11221ms ===
=== This is 89 instances per second ===
=== Test finished processing 1000 instances in 11667ms ===
=== This is 85 instances per second ===
=== Test finished processing 1000 instances in 11937ms ===
=== This is 83 instances per second ===
=== Test finished processing 1000 instances in 12500ms ===
=== This is 80 instances per second ===
=== Test finished processing 1000 instances in 10581ms ===
=== This is 94 instances per second ===
I didn't perform any changes between checkout and test runs.
If you look at the numbers, you see that there is still the performance drop...
> Add jBPM performance test coverage
> ----------------------------------
>
> Key: JBPM-2043
> URL: https://jira.jboss.org/jira/browse/JBPM-2043
> Project: JBoss jBPM
> Issue Type: Task
> Security Level: Public(Everyone can see)
> Components: Productization
> Affects Versions: jBPM 3.2.5 GA
> Environment: SOA 4.3.0 CP01 CR2
> Reporter: Pavel Macik
> Assignee: Thomas Diesler
> Fix For: jBPM-3.2.5.SP2
>
>
> Performance of jBPM has dropped significantly according to
> http://hudson.qa.jboss.com/hudson/view/SOA-Performance/job/SOA-Platform-P...
> Other performance has not changed much so the performance drop is isolated to jBPM.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
15 years, 10 months
[JBoss JIRA] Created: (JBPM-1965) fix normal message test in pvm module
by Tom Baeyens (JIRA)
fix normal message test in pvm module
-------------------------------------
Key: JBPM-1965
URL: https://jira.jboss.org/jira/browse/JBPM-1965
Project: JBoss jBPM
Issue Type: Task
Security Level: Public (Everyone can see)
Reporter: Tom Baeyens
Fix For: jBPM 4.0.0 Alpha2
failed sometimes in hudson:
org.hibernate.exception.GenericJDBCException: Could not execute JDBC batch update
at org.hibernate.exception.SQLStateConverter.handledNonSpecificException(SQLStateConverter.java:103)
at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:91)
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:253)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:266)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:171)
at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:298)
at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:27)
at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1000)
at org.jbpm.pvm.internal.tx.HibernateSessionResource.prepare(HibernateSessionResource.java:54)
at org.jbpm.pvm.internal.tx.StandardTransaction.commit(StandardTransaction.java:106)
at org.jbpm.pvm.internal.tx.StandardTransaction.complete(StandardTransaction.java:65)
at org.jbpm.pvm.internal.tx.StandardTransactionInterceptor.execute(StandardTransactionInterceptor.java:61)
at org.jbpm.pvm.internal.svc.EnvironmentInterceptor.execute(EnvironmentInterceptor.java:40)
at org.jbpm.pvm.internal.svc.RetryInterceptor.execute(RetryInterceptor.java:52)
at org.jbpm.pvm.internal.jobexecutor.NormalMessageTest.testNormalMessageProcessing(NormalMessageTest.java:59)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at junit.framework.TestCase.runTest(TestCase.java:154)
at org.jbpm.test.JbpmTestCase.runTest(JbpmTestCase.java:69)
at junit.framework.TestCase.runBare(TestCase.java:127)
at junit.framework.TestResult$1.protect(TestResult.java:106)
at junit.framework.TestResult.runProtected(TestResult.java:124)
at junit.framework.TestResult.run(TestResult.java:109)
at junit.framework.TestCase.run(TestCase.java:118)
at junit.framework.TestSuite.runTest(TestSuite.java:208)
at junit.framework.TestSuite.run(TestSuite.java:203)
at sun.reflect.GeneratedMethodAccessor13.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.apache.maven.surefire.junit.JUnitTestSet.execute(JUnitTestSet.java:213)
at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.executeTestSet(AbstractDirectoryTestSuite.java:140)
at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.execute(AbstractDirectoryTestSuite.java:127)
at org.apache.maven.surefire.Surefire.run(Surefire.java:177)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(SurefireBooter.java:338)
at org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:997)
Caused by: java.sql.BatchUpdateException: failed batch
at org.hsqldb.jdbc.jdbcStatement.executeBatch(Unknown Source)
at org.hsqldb.jdbc.jdbcPreparedStatement.executeBatch(Unknown Source)
at org.hibernate.jdbc.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:48)
at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:246)
... 38 more
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
15 years, 10 months