Advertisements
RSS

Limitation in Oracle Adaptive Case Management (ACM) revision ID length

17 Feb

All our Oracle BPM projects use a revision id during deployment of the SCA component which is something like [4 digits].[svn-revision] which might look like 1602.71234

The Oracle SCA version format convention

In the Oracle documentation it states that the Oracle SCA composite revision must apply this format:
n0[.n1[.n2[.n3[.n4]]]][-milestone-name[milestone-number] | _patch-number]
Where all but “milestone-name” and “comment” are numeric, composed of one or more digits (0-9) from 0 up to a maximum value of 99999999.

This is the same convention you see on the error when deploying a composite with an incorrect revision format.

foutmelding_jdev

So we are good due to the fact that our revision naming standard only use n0.n1 and both numbers will not reach the max value of 99999999 anywhere soon.

The problem

However when testing we discovered that when our revision passed 99999 we have a problem. Not due to the normal SOA or BPM components, they can easily handle the longer n1 digits. But due to the fact that our Oracle ACM projects will throw the following error when deploying a composite with a total(!) revision length of 10+

Logging:

: Case metadata deployment failed. 
Case metadata deployment failed for MyCase. 
Contact system administrator for assistance. 
{rootCauses=[]} 
at oracle.bpm.casemgmt.fabric.CaseManagementServiceEngine.deploy(CaseManagementServiceEngine.java:1941) 
at oracle.bpm.casemgmt.fabric.CaseManagementServiceEngine.deploy(CaseManagementServiceEngine.java:401) 
at oracle.bpm.casemgmt.fabric.CaseManagementServiceEngine.deploy(CaseManagementServiceEngine.java:182) 
... 
Caused By: BPM-72806 
..... 
at java.lang.Thread.run(Thread.java:662) 
Caused By: javax.persistence.PersistenceException: Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.3.1.v20111018-r10243): org.eclipse.persistence.exceptions.DatabaseException 
Internal Exception: java.sql.SQLException: ORA-12899: value too large for column "SOA_SOAINFRA"."CM_CASE_DEFINITION"."COMPOSITE_VERSION" (actual: 12, maximum: 10)</pre>

So when checking the SOAINFRA database design we discovered that for ACM components the revision is also stored in a column with a definition of VARCHAR2(10)


DESC CM_CASE_DEFINITION
Name Null Type
----------------- -------- --------------
DEFINITION_ID NOT NULL VARCHAR2(400)
NAME NOT NULL VARCHAR2(255)
TITLE VARCHAR2(500)
DESCRIPTION VARCHAR2(1000)
CATEGORY VARCHAR2(400)
NAMESPACE VARCHAR2(2000)
COMPONENT_NAME VARCHAR2(200)
COMPOSITE_DN VARCHAR2(500)
COMPOSITE_NAME VARCHAR2(200)
COMPOSITE_VERSION VARCHAR2(10)
APPLICATION_NAME VARCHAR2(200)

table_soainfra

The solution

So we logged a service request (SR 3-12014738981) and together with Oracle Support we concluded that this is actually a bug in both 11g and 12c.
Bug 22564283 – Limitation in ACM revision ID due to CM_CASE_DEFINITION.COMPOSITE_VERSION

Yesterday we received confirmation from Oracle Support that the bug is fixed and we will receive a patch.
Meanwhile we can already use the workaround to update COMPOSITE_VERSION column in CM_ACTIVITY_DEFINITION and CM_CASE_DEFINITION to VARCHAR2(200).
So actually an easy fix on the SOAINFRA schema we assumed would work if we “hacked” it in our self, but we’re still very glad that it was quickly handled and solved through Oracle Support with an official supported patch.

alter table CM_ACTIVITY_DEFINITION modify (COMPOSITE_VERSION varchar2(200))
alter table CM_CASE_DEFINITION modify (COMPOSITE_VERSION varchar2(200))

So, if you run into the same problem you can refer with Oracle Support to the SR and BUG numbers mentioned above

Advertisements
 
Leave a comment

Posted by on 17-02-2016 in Uncategorized

 

Tags: , , , ,

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

 
%d bloggers like this: