Description of problem: The issue reported in "JBPM-3722" is reproducible in BPM Suite 6 when using Mysql. It seems like the issue has been fixed only for databases that uses sequences. I created a simple process and forced an exception when starting it. The process data is stored in processinstanceinfo table, but "processinstancebytearray" is null. Then it is not possible to abort the process. Version-Release number of selected component (if applicable): BPM Suite 6 Mysql (tested on 5.1 version) How reproducible: Always Steps to Reproduce: 1. Setup your BPM Suite to use Mysql as external database 2. Create a really simple process using "Manual Task". It will not be needed to add anything to that as it should throw an exception after starting. 3. Save process/ Deploy project/ Start process Actual results: It will throw an error in console and in server.log: 10:46:31,959 WARN [org.drools.persistence.SingleSessionCommandService] (http-localhost.localdomain/127.0.0.1:8080-5) Could not commit session: org.jbpm.workflow.instance.WorkflowRuntimeException: [project1.sample4:3 - :2] -- Could not find work item handler for Manual Task But the rollback will not be performed and data will be stored in processinstanceinfo and processinstancelog. Expected results: It should rollback the transaction. Additional info: A workaround exist: You can delete the process manually in database using the following queries: delete from ProcessInstanceInfo where InstanceId=XX; delete from ProcessInstanceLog where processInstanceId=XX; Note: Make sure you are deleting the right process.
Other important information. I performed same test with postgres and it worked well.
I tried to reproduce it but unfortunately no luck. One question that maybe is affecting it I use InnoDB dialect for MySQL and version of my server is 5.5.28 Amana, would it be possible to try with InnoDB dialect and maybe newer version of MySQL to see if that's still an issue?
marking this as modified as there should be no way to actually have empty byte array for process instance or session as change was applied to trigger protnbuf serialization based on transaction sync instead of entity listeners which was flush specific and could cause invalid data to be persisted. So let's retest it and see if that is still a problem.
>> Amana, would it be possible to try with InnoDB dialect and maybe newer version of MySQL to see if that's still an issue? Sorry for the delay to answer back. I performed some tests today using the following evn: - Mysql 5.5 - InnoDB dialect - BPM Suite 6.0.1 It worked well.
BPMS 6.1.0.CR1
I had the same issue when upgrading Drools/Jbpm from 5.5.0 to 6.5.0, ie: column processInstanceByteArray is NULL. The cause is using wrong protobuf-java version. When I changed protobuf-java-2.5.0.jar to protobuf-java-2.6.0.jar, the issue is fixed.