Bug 1259701 - Spring tests: starting of process gets stuck on Sybase 15.7
Summary: Spring tests: starting of process gets stuck on Sybase 15.7
Keywords:
Status: CLOSED EOL
Alias: None
Product: JBoss BPMS Platform 6
Classification: Retired
Component: jBPM Core
Version: 6.2.0
Hardware: Unspecified
OS: Unspecified
urgent
high
Target Milestone: ER5
: 6.2.0
Assignee: Alessandro Lazarotti
QA Contact: Karel Suta
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2015-09-03 11:54 UTC by Karel Suta
Modified: 2020-03-27 20:03 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2020-03-27 20:03:14 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)
Stacktrace (8.21 KB, text/plain)
2015-09-03 11:54 UTC, Karel Suta
no flags Details

Description Karel Suta 2015-09-03 11:54:52 UTC
Created attachment 1069767 [details]
Stacktrace

Description of problem:
Tried to run community test -RuntimeManagerInitSpringTest- against Sybase 15.7 database. Test gets stuck when trying to create sample process (RuntimeManagerInitSpringTest.testSimpleTaskInvocation() line: 78).

This error happens just when using Per process instance Runtime manager with local transactions: configurations LOCAL_EMF_PER_PROCESS_INSTANCE_PATH and LOCAL_EM_PER_PROCESS_INSTANCE_PATH.

Hanging stacktrace attached.


Version-Release number of selected component (if applicable):
droolsjbpm-integration, project kie-spring, master branch


How reproducible:
Configure Sybase 15.7 as database for Spring tests:
- Sybase driver as maven dependency
- database properties in AbstractJbpmSpringTest.setupPoolingDataSource()
- hibernate.dialect in resources/jbpm/persistence-local(jta).xml
Run RuntimeManagerInitSpringTest.


Steps to Reproduce:
1.
2.
3.

Actual results:
Test gets stuck in RuntimeManagerInitSpringTest.testSimpleTaskInvocation() line: 78 when testing Per process instance Runtime manager with local transactions.

Expected results:
All tests pass.

Additional info:

Comment 2 Maciej Swiderski 2015-10-19 12:01:53 UTC
problem was caused by Sybase that by default uses all pages locking which is sort of table lock (and indexes). That does not work well for engines such as jBPM which is tailored to run on just rows. So such locking scheme shall be enabled for jBPM tables.

Fix for this is an update to DDL script for sybase to always configure data rows as locking scheme which corresponds to row locking.

Unfortunately this cannot be enabled for hibernate auto ddl (or at least I have no idea how to do it). So the tests must be ran after DDL script based schema creation.

Alternatively system wide settings can be enabled on Sybase to always use data rows locking. Though it might have some side effects for other applications running on same db so this needs to be checked before enabling system wide setting. Command to enable it is as follows:
sp_configure 'lock scheme', 0, datarows

jbpm
master:
https://github.com/droolsjbpm/jbpm/commit/97222b907396f50170060360c7778610754d2be3

6.3.x:
https://github.com/droolsjbpm/jbpm/commit/d9585ca9b2a706ca1a0fb973ea0e5590ecde61d9

Comment 3 Karel Suta 2015-11-04 16:25:15 UTC
Verified with DDL script, test passed.
6.2.0ER5


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