There is an issue that can happen when you upgrade an application in a multi-noded AMXBPM environment (see 'Symptoms' section below) . This KB is aimed at trying to avoid this issue by using the nodeutil utility before it happens. See the "Nodeutil Readme" section below.
=== Symptoms === Work items can be opened on one node but not other nodes after an upgrade of an application in a multi-noded environment. An upgrade of an application is mandatory here.
Example:
1). Log into node 1, open a work item, all seems ok. 2). Log into node 2 directly ( without load balancer ) with same user on the same machine, open the work item and you get an error message regarding that the task no longer exists.
What you will notice is that: When opening a work item on node 1, the application has the old and new versions. However, when opening a work item on node 2, it fails as it only has latest version and not the old version.
"A work item with ID = xxx no longer exists", error message in the remote BPM node log file and you cannot open a work item on a remote BPM node.
Environment
All Supported Operating Systems
Distributed AMXBPM environment
Resolution
To avoid or fix the issue, you need to use the nodeutil utility (version 3.x.x_hotfix-nodeutil7 or later) and make use of the exportcomponents and importcomponents functionality in section 4 of the Readme file (which is shown below along with an example)
=== Nodeutil Readme ===
4. When using this utility to copy components from one node to another by means of export & import.
Usage Scenario: In AMX-BPM environment, you have one or more applications upgraded whose work items from old versions are still in progress. In such a situation if you add a new BPM node, old work items cannot be processed on the new node. This occurs because the newly added node only has partial copy of the application. You must use the steps described below to deploy the full copy of the application on the new node. The steps below will export the full application from one of your existing nodes and import the missing components into the new node.
For each AMX-BPM application follow the steps below:
a. If your application uses Business Object Models then it has feature dependencies. You must install those features to the new node using the ActiveMatrix Administrator UI or CLI. This can be done from the Admin UI through Infrastructure -> Nodes-> Configuration -> Features. Ensure to click Save and then Apply any additions to features. b. Shutdown the old runtime node and the new runtime node. This can be done from Admin UI, CLI or tibcohost command. c. Use the nodeutil tool's exportComponents command to export the required components from the old node into an archive. If you want all versions of the application to be exported in a zip do not use the -version parameter. d. Use the nodeutil tool's importComponents command to import the archived components to the new node. If a component with a given version exists in the new node then it will ignored during import. e. It is STRONGLY recommended that you use the "-dryRun" switch for both commands to verify which components are being copied before actually making changes that are permanent. f. After making permanent changes, start both nodes; the new node should be started with the -clean option.
Exporting components from application "com.example.simpleapp" with version "1.0.0.201306021027" from node "BPMNode" urn:amx:BPMEnvironment/com.example.simpleapp/BRM_1.0.0.201306021027 urn:amx:BPMEnvironment/com.example.simpleapp/WorkPresentation_1.0.0.201306021027 urn:amx:BPMEnvironment/com.example.simpleapp/simpleAppProcessFlow_1.0.0.201306021027 Successfully exported 3 components.