Bug 1033235 - Multiple concurrent clients break REST API Singleton Timer scenario due to: ERROR org.hibernate.AssertionFailure: collection [null] was not processed by flush()
Summary: Multiple concurrent clients break REST API Singleton Timer scenario due to: E...
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: JBoss BPMS Platform 6
Classification: Retired
Component: Business Central
Version: 6.0.0
Hardware: Unspecified
OS: Unspecified
medium
high
Target Milestone: ---
: 6.0.0
Assignee: Marco Rietveld
QA Contact: Jiri Svitak
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2013-11-21 18:35 UTC by Jiri Svitak
Modified: 2016-09-20 05:05 UTC (History)
3 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2014-08-06 20:07:57 UTC
Type: Bug


Attachments (Terms of Use)
timer.log (243.51 KB, text/plain)
2013-11-21 18:35 UTC, Jiri Svitak
no flags Details

Description Jiri Svitak 2013-11-21 18:35:26 UTC
Created attachment 827407 [details]
timer.log

Multiple concurrent clients break REST API Singleton Timer scenario due to: ERROR org.hibernate.AssertionFailure: collection [null] was not processed by flush()

Also another error message can be interesting:
[org.hibernate.engine.transaction.synchronization.internal.SynchronizationCallbackCoordinatorImpl] (http-localhost/127.0.0.1:8080-4) Transaction afterCompletion called by a background thread! Delaying action until the original thread can handle it. [status=4]


To reproduce:
1.) Download BPMS 6 ER4 and merge it with EAP 6.1 distribution.
2.) Add user guest, password guest into EAP config files:
application-users.properties:  guest=b5d048a237bfd2874b6928e1f37ee15e
application-roles.properties:  guest=kie-user,admin
3.) Setup datasource for BPMS, I used PostgreSQL. Make sure the db is empty before the test. Do not use default H2.
4.) Start the server and go to http://localhost:8080/business-central.
5.) Clone repository git://git.app.eng.bos.redhat.com/bpms-assets.git to your BPMS installation.
6.) Build&Deploy a project bpms-perf from the bpms-assets.git repo.
7.) Make sure you can run REST API command POST on address:
http://localhost:8080/kie-wb/rest/runtime/com.bpms.flood:bpms-perf:1.0.0.Final/process/com.bpms.flood.Timer/start
8.) Run the performance framework:
git clone git://git.app.eng.bos.redhat.com/jbossqe-process-flood.git
cd jbossqe-process-flood/bpms-6.x
./execute_scenario.sh -Dscenario=Timer_pcREST -Dduration=10000 -DwarmUp=true -Dthreads=4

All the exceptions can be seen in the attached server log (timer.log). Client kept throwing HTTP error 500.

My env:
BPMS 6 ER4
EAP 6.1
PostgreSQL 9.1.9
postgresql-9.1-902.jdbc4.jar

p.s. 
You can check also 'minor perf report' here to see that other combinations seem to work:
https://bugzilla.redhat.com/show_bug.cgi?id=998199#c9

Comment 1 Jiri Svitak 2013-11-21 18:47:09 UTC
My bad, I forgot about https://bugzilla.redhat.com/show_bug.cgi?id=1002724, which has not arrived for testing yet. So I'll retest this one with ER5.

Comment 2 Jiri Svitak 2013-11-22 18:29:25 UTC
So, I've retested with ER5 and this issue has been fixed. Verified in BPMS 6 ER5.

However there REST API client is still not working:
https://bugzilla.redhat.com/show_bug.cgi?id=1033726

Comment 3 Lukáš Petrovický 2014-02-07 16:15:44 UTC
This BZ has been part of the 6.0.0 stream.


Note You need to log in before you can comment on or make changes to this bug.