Clarity: BPM: Process validation fails with large processes (Oracle only).

Document ID : KB000051253
Last Modified Date : 14/02/2018
Show Technical Document Details

Description:

DETAILS:

Validation fails for very long processes using the validation tool or job under Oracle. The same process validates under MSSQL.

STEPS TO REPRODUCE:

Attempt to validate a very long process on an Oracle server using the validation tool in the process or the Validate Processes job.

EXPECTED RESULTS:

Validation is successful.

ACTUAL RESULTS:

Validation fails

TECHNICAL DETAILS:

Error in app-niku.log starts with:

ERROR 2009-10-05 13:08:51,597 [http-80-Processor9] defobjects.ValidationObject (canfr01:5027272__18e189c0:bpm.validateProcess) An error occurred while evaluating process definition Lectra Invalid Process:

com.niku.bpm.BpmException: execute failed.
at com.niku.bpm.engine.persistence.EnginePersistenceUtils.execute(EnginePersistenceUtils.java:3604)
at com.niku.bpm.engine.persistence.EnginePersistenceUtils.execute(EnginePersistenceUtils.java:3553)
at com.niku.bpm.utilities.PersistenceUtils.addErrors(PersistenceUtils.java:433)
at com.niku.bpm.defobjects.Process.validateProcessLevelOnly(Process.java:134)
at com.niku.bpm.ui.ProcessValidationService.validateProcessLevelOnly(ProcessValidationService.java:133)
at com.niku.bpm.ui.ProcessValidationService.processRequest(ProcessValidationService.java:90)
at com.niku.bpm.ui.BpmServiceControlBinding.processRequest(BpmServiceControlBinding.java:63)
at com.niku.union.service.binding.ServiceControlBindingJava.processRequest(ServiceControlBindingJava.java:58)
at com.niku.union.service.ServiceControlImpl.processRequest(ServiceControlImpl.java:759)
at com.niku.union.service.ServiceControlImpl.processRequest(ServiceControlImpl.java:213)
at com.niku.union.web.WebServiceAdapter.processRequest(WebServiceAdapter.java:195)
at com.niku.union.web.PortletController.processServiceRequest(PortletController.java:1323)
at com.niku.union.web.PortletController.processProcessActionRequest(PortletController.java:229)
at com.niku.union.web.PortletController.processRequest(PortletController.java:156)
at com.niku.union.web.WebActionController.processAction(WebActionController.java:1090)
at com.niku.union.web.WebActionController.processRequest(WebActionController.java:170)
at com.niku.union.web.WebControlServlet.service(WebControlServlet.java:319)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at com.niku.union.web.filter.GZIPResponseFilter.doFilter(GZIPResponseFilter.java:121)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at com.niku.union.web.filter.CharsetFilter.doFilter(CharsetFilter.java:29)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at org.apache.catalina.valves.FastCommonAccessLogValve.invoke(FastCommonAccessLogValve.java:495)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:868)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:663)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
at java.lang.Thread.run(Thread.java:595)
Caused by: com.niku.union.persistence.PersistenceException:
SQL error code: 1461
Error message: ORA-01461: can bind a LONG value only for insert into a LONG column

Executed:

 INSERT INTO BPM_ERROR_ARGUMENTS ( 
   ID, ERROR_ID, ARG_INDEX,   
   ARG_VALUE, FORMAT_TYPE_CODE, CREATED_DATE,   
   CREATED_BY, LAST_UPDATED_DATE, LAST_UPDATED_BY)   
   VALUES ( ?, ?, ?, ?, ?, ?, ?, ?, ? )   
   Derived from statement:   
   <?xml version="1.0" encoding="UTF-8"?>   
<statement location="commonPMD.xml" id="bpm.cmn.addErrorArgs" batchable="true" 
sortColumnPath="/data/header/sortInfo/@sortColumn" sortDirectionPath="/data/header/sortInfo/@sortDirection"
slicePath="/data/header/pagination/sliceInfo/@slice" sliceSizePath="/data/header/pagination/sliceInfo/@sliceSize"
inputSource="none" xmlns="http://schemas.niku.com/2002/pmd"> <sql dbVendor="all"> <text> INSERT INTO BPM_ERROR_ARGUMENTS ( ID, ERROR_ID, ARG_INDEX, ARG_VALUE, FORMAT_TYPE_CODE, CREATED_DATE, CREATED_BY, LAST_UPDATED_DATE, LAST_UPDATED_BY) VALUES ( ?, ?, ?, ?, ?, ?, ?, ?, ? ) </text> <param name="error_arg_id" direction="INOUT" expressionListDelimiter=","
sequenceName="BPM_ERROR_ARGUMENTS_S1" tableName="BPM_ERROR_ARGUMENTS" sequenceType="nextValue"/> <param name="error_id" path="@error_id" type="long" direction="IN" expressionListDelimiter=","/> <param name="arg_index" path="@arg_index" type="long" direction="IN" expressionListDelimiter=","/> <param name="arg_value" path="@arg_value" type="string" direction="IN" expressionListDelimiter=","/> <param name="format_type_code" path="@format_type_code" type="string" direction="IN" expressionListDelimiter=","/> <param replace="timestamp" direction="IN" expressionListDelimiter=","/> <param type="long" direction="IN" constantValue="1" expressionListDelimiter=","/> <param replace="timestamp" direction="IN" expressionListDelimiter=","/> <param type="long" direction="IN" constantValue="1" expressionListDelimiter=","/> </sql> </statement> Referenced by: <?xml version="1.0" encoding="UTF-8"?> <statementRef id="bpm.cmn.addErrorArgs" inputSource="map" sortColumnPath="/data/header/sortInfo/@sortColumn"
sortDirectionPath="/data/header/sortInfo/@sortDirection" slicePath="/data/header/pagination/sliceInfo/@slice"
sliceSizePath="/data/header/pagination/sliceInfo/@sliceSize" xmlns="http://schemas.niku.com/2002/pmd"/>

Solution:

WORKAROUND:

None

STATUS/RESOLUTION:

This issue has been documented as CLRT-45318 and is assigned to development for review. If you are experiencing this problem and the workaround above does not significantly help, please contact CA Clarity Technical Support.

KEYWORDS: ClarityKB, process, BPM, CLRT-45318, long, validation, Validate Process job, clarity8open, clarity12open.