TIBCO ActiveMatrix BPM product upgrade may fail while deploying BPM applications

TIBCO ActiveMatrix BPM product upgrade may fail while deploying BPM applications

book

Article ID: KB0079468

calendar_today

Updated On:

Products Versions
TIBCO BPM Enterprise (formerly TIBCO ActiveMatrix BPM) 3.0.0, 3.1.0, 4.0.0, 4.1.0, 4.2.0

Description

Description:
When upgrading to TIBCO ActiveMatrix BPM (AMX BPM) v4.x, the below failure can occur while executing - Upgrade ActiveMatrix BPM Instance Application (or tct upgrade-bpm).

Error updating SOAP Bindings: TIBCO-AMX-ADMIN-012603: Not allowed to deploy the version '<new version>' of application '<application name>' since the older version(s) are not in Preparing for Undeploy state: [<old version>]. An upgrade from these versions may have failed in the past and that is why they are not in the expected state. If the upgrade to version '<new version>' has failed, you may need to force-undeploy it first (work items for this version will be cancelled).

Symptoms:
Upgrade ActiveMatrix BPM Instance Application throws the following error while executing the task -  "Deploying Healthy Child Applications". 

Error updating SOAP Bindings: TIBCO-AMX-ADMIN-012603: Not allowed to deploy the version '1.0.0.20160322202756211' of application 'com.example.welcomeusersimplementsolution' since the older version(s) are not in Preparing for Undeploy state: [1.0.0.20160322200534260]. An upgrade from these versions may have failed in the past and that is why they are not in the expected state. If the upgrade to version '1.0.0.20160322202756211' had failed, you may need to force-undeploy it first (work items for this version will be cancelled).

After this failure, the amx.bpm.app status will not change. If prior to the upgrade the amx.bpm.app was in Running/In Sync status, then after this error the same state will persist. AMX BPM has not been upgraded to v4.0.

Cause:
A BPM application consists of different components, similar to the product amx.bpm.app. BPM applications Process Engine (PE) component name is of the format - *ProcessFlow_<version>. When a BPM application is upgraded, the PE component corresponding to the older version is set to Prepare For Undeploy (PFU) state. Once the process instances related to that older version reach a terminal state (Completed or Cancelled or Failed), this older version is undeployed.

During the AMX BPM upgrade to v4.x, there is a need to deploy both the product amx.bpm.app and all BPM applications. The error - TIBCO-AMX-ADMIN-012603 - indicates the BPM Applications older PE component(s) is Running, instead of the expected PFU state. This validation by TIBCO AMX Administrator was added in v3.3.0 HF 3.

When a prior upgrade of a BPM application resulted in a failure and a Force Undeploy was not performed, then the PE components of a BPM application may remain in the Running state.

Issue/Introduction

TIBCO ActiveMatrix BPM product upgrade may fail while deploying BPM applications

Environment

All Supported Operating Systems

Resolution

Follow the steps below to verify if TIBCO-AMX-ADMIN-012603 can occur in your environment. 

1). Login into AMX Administrator. Go to Infrastructure > Environments. Note the Environment name where this issue occurs.


2). In the same browser, access http://<admin-host>:<admin-port>/amxadministrator/viewdata.jsp, and click "Adhoc HQL Query Interface" (on the top-right corner).


3). Determine the Environment id - Execute the below query.

select e.id from Environment e where e.name='[ENV NAME]'

Example: select e.id from Environment e where e.name='BPMEnvironment'
 

4). Execute the query below with the [ENV ID] from step 3. 
 
select a.env.name, a.id, a.name, a.applicationFolder.name, count(distinct ci.component.applicationTemplateVersion) from AmfApplication a inner join a.deployedAppFragments f inner join f.componentInstances ci where ci.preparingForUndeployForUpgrade is false and a.env.id = [ENV ID] group by a.env.name, a.id, a.name, a.applicationFolder.name

Example: select a.env.name, a.id, a.name, a.applicationFolder.name, count(distinct ci.component.applicationTemplateVersion) from AmfApplication a inner join a.deployedAppFragments f inner join f.componentInstances ci where ci.preparingForUndeployForUpgrade is false and a.env.id = 3322 group by a.env.name, a.id, a.name, a.applicationFolder.name

5). Check the values under Field (4). There are two possibilities . 

- If any of the Field (4) values is greater than 1, the error, "TIBCO-AMX-ADMIN-012603"  will be seen and the upgrade will be impacted by this issue. Contact TIBCO Support with the output of these steps to fix the state of these applications. Once the state is fixed, re-run the upgrade to AMX BPM v4.0.

- If none of the Field (4) values is greater than 1, this error will not occur and the BPM upgrade will not be impacted.

Note: This check does not apply to the system applications. i.e. even though product BPM application (commonly known as amx.bpm.app) or platform application (com.tibco.amx.platform) has the field (4) greater than 1, the upgrade will not be impacted with this issue. 

Additional Information

TAP-13058 (in AMX 3.3.0 HF 3 readme)