Existing work items cannot be opened after upgrading TIBCO ActiveMatrix BPM to v2.2 or higher.

Existing work items cannot be opened after upgrading TIBCO ActiveMatrix BPM to v2.2 or higher.

book

Article ID: KB0092429

calendar_today

Updated On:

Products Versions
TIBCO BPM Enterprise (formerly TIBCO ActiveMatrix BPM) -
Not Applicable -

Description

Description:
After a successful upgrade of TIBCO ActiveMatrix BPM (AMX BPM) to v2.2 or higher, the work items created prior to the upgrade cannot be opened. An attempt to allocate the work item or open the work item results in an error. This issue is only applicable when the database type is Oracle. This issue does not impact any new work items created post-upgrade.


Symptoms:
While accessing the work item via workspace, the EX_INTERNAL_SERVICE_FAULT error pop-up is seen. With Openspace, the error is "Failed to open work item". The following errors are seen in the BPM logs.

================
02 Jun 2015 14:27:03,247 [httpConnector_27] [ERROR] com.tibco.n2.brm.services.impl.WorkItemManagementServiceImpl - [ERROR] - {BRM_WORKITEM_ALLOC_OPEN_FAULT} - Unexpected exception - Allocate And Open Work Item ¬{extendedMessage=`Exception occurred inside getter of com.tibco.n2.brm.model.WorkItemDataField.valuesHibernateOnly`, componentClassName=`com.tibco.n2.brm.services.impl.WorkItemManagementServiceImpl`, requestReceived=`2015-06-02T19:27:02.752Z`, hostAddress=`10.97.24.221`, nodeName=`BPMNode`, eventType=`FAULT`, messageCategory=`WORK_ITEM`, componentId=`BRM`, stackTrace=`com.tibco.n2.brm.services.InternalServiceFault: Exception occurred inside getter of com.tibco.n2.brm.model.WorkItemDataField.valuesHibernateOnly
    at com.tibco.n2.brm.services.impl.WorkItemManagementServiceImpl.allocateAndOpenWorkItem(WorkItemManagementServiceImpl.java:1021)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
.
.
Caused by: org.hibernate.PropertyAccessException: Exception occurred inside getter of com.tibco.n2.brm.model.WorkItemDataField.valuesHibernateOnly
.
.
Caused by: java.lang.NullPointerException
    at com.tibco.n2.brm.model.util.ProcessWIFieldNAValues.setNAValues(ProcessWIFieldNAValues.java:27)
    at com.tibco.n2.brm.model.WorkItemDataField.getValuesHibernateOnly(WorkItemDataField.java:195)
================

OR

================
02 Jun 2015 15:13:42,570 [httpConnector_1695] [ERROR] com.tibco.n2.brm.services.impl.WorkItemManagementServiceImpl - [ERROR] - {BRM_WORKITEM_ALLOC_OPEN_FAULT} - Unexpected exception - Allocate And Open Work Item ¬{componentClassName=`com.tibco.n2.brm.services.impl.WorkItemManagementServiceImpl`, requestReceived=`2015-06-02T15:13:42.507Z`, hostAddress=`10.97.24.221`, nodeName=`BPMNode`, eventType=`FAULT`, messageCategory=`WORK_ITEM`, componentId=`BRM`, stackTrace=`com.tibco.n2.brm.services.InternalServiceFault
    at com.tibco.n2.brm.services.impl.WorkItemManagementServiceImpl.allocateAndOpenWorkItem(WorkItemManagementServiceImpl.java:1021)

Caused by: java.lang.NullPointerException
    at com.tibco.n2.brm.model.util.ProcessWIFieldNAValues.unsetNAValues(ProcessWIFieldNAValues.java:50)
    at com.tibco.n2.brm.model.WorkItemDataField.getValues(WorkItemDataField.java:146)

02 Jun 2015 15:13:42,648 [httpConnector_1695] [ERROR] com.tibco.n2.wp.core.services.WorkPresentationServiceImpl - [ERROR] - {WPCORE_PROCESSWORKITEM_INIT_WORKITEM_FAILED} - Exception occurred while initiating work item ¬{extendedMessage=`null

    Caused by: java.lang.NullPointerException`, componentClassName=`com.tibco.n2.wp.core.services.WorkPresentationServiceImpl`, requestReceived=`2015-06-02T15:13:42.492Z`, hostAddress=`10.97.24.221`, nodeName=`BPMNode`, eventType=`FAULT`, messageCategory=`WORK_ITEM`, componentId=`WPCORE`, stackTrace=`com.tibco.n2.wp.services.InternalServiceFault: null

Caused by: java.lang.NullPointerException
.
.
Caused by: com.tibco.n2.wp.services.InvalidWorkRequestFault: null
    Caused by: java.lang.NullPointerException
    at com.tibco.n2.wp.core.bridge.dto.BRMWorkItemDetails.getWorkItem(BRMWorkItemDetails.java:216)
    at com.tibco.n2.wp.core.bridge.dto.BRMWorkItemDetails.getWorkPresentation(BRMWorkItemDetails.java:237)
    at com.tibco.n2.wp.channel.gi.GIChannel.processWorkItem(GIChannel.java:553)
    at com.tibco.n2.wp.channel.gi.GIChannel.initiate(GIChannel.java:261)
================

Cause:
This error is seen when a data field is assigned an empty string or a null value, while creating the work item. From AMX BPM  v2.2.0, the empty data fields are stored in the database as TIB_NA. Prior to this version, the empty data fields were stored as null.




Issue/Introduction

Existing work items cannot be opened after upgrading TIBCO ActiveMatrix BPM to v2.2 or higher.

Resolution

Workaround. 

After the upgrade to AMX BPM v2.2 or higher has been completed successfully, follow the steps below to detect and resolve this issue.

1). Detect the number of records impacted. 

select count(*) from BRM_WORK_ITEM_FIELD_VALUES where FIELD_VALUE is null;

2). Resolve this issue using the following update statement, only if the number of impacted rows is not large.

update BRM_WORK_ITEM_FIELD_VALUES set FIELD_VALUE = chr(1) || 'TIB_NA' where FIELD_VALUE is null;

Contact your DBA to check if the above query needs to be optimized. If the impacted rows are large (say in the millions), we recommend executing the update in batches. Make a backup of this table prior to executing the update.

JIRA Id WRM-8162 has been logged for this issue. Please contact TIBCO to check if this defect has been addressed in a release.