TIBCO ActiveMatrix(R) BPM 4.1.0 Hotfix 005 is available

TIBCO ActiveMatrix(R) BPM 4.1.0 Hotfix 005 is available

book

Article ID: KB0102494

calendar_today

Updated On:

Products Versions
TIBCO BPM Enterprise (formerly TIBCO ActiveMatrix BPM) 4.1.0

Description

The hotfix can be downloaded from the TIBCO Support Customer Portal Web UI,
using your username and password for the TIBCO Support Web.

Once logged on the hotfix can be found under the Downloads Menu:
AvailableDownloads/AMX_BPM/4.1.0/TIB_amx-bpm_4.1.0_hotfix005

Listed below is a summary of updates included. Refer to the associated readme document for any additional information.

================================================================================

Closed Issues in 4.1.0_HF-005 (This Release)

Note: Where the closed issue is related to a TIBCO Support case, the relevant
case number (CN-xxxxxxxx) or Support Request ID (SR-xxxxxx) is given in brackets
after the Issue number.

WRM-9689 (CN-01476789)
----------------------
In Openspace, when viewing the audit trail for a process instance, BX_CUSTOM
audit messages were displayed for events that did not appear to belong to that
process instance - for example, events with timestamps that did not relate to
the selected process instance. This problem occurred if:

- The process contained scripting that used the Process.auditLog() method to add
  process-instance related event log entries to the audit log, AND
- The process called one or more service processes.

The problem occurred because service processes (which are designed to be
short-lived and so run as in-memory instances) have the following
characteristics:

- They have process IDs that are unique within the context of their parent
  process, but are not globally unique. Thus, whenever a new process instance
  called a particular service process, the service process would get the same
  process instance ID - pvm:0a101. (A subsequent service process within the same
  parent would have instances with ID pvm:0a102, and so on.)

- They are not audited by default. However, using the Process.auditLog() method
  does create a BX_CUSTOM audit entry for a service process instance. Thus,
  using the Process.auditLog() method created multiple BX_CUSTOM audit entries
  for what looked like the same process instance ID in the Openspace audit
  trail.

Now, use of the Process.auditLog() method is not supported for in-memory
process instances (service processes, pageflow processes or business services).
If the Process.auditLog() method is used on one of these processes (whether
started from within a parent business process or independently), no audit
entries will be generated.

WRM-9628 (CN-01477120)
----------------------
A business service was used to start a process that contained a mandatory
parameter of type Integer. The process failed to start and the following error
was written to the BPM log file:

   IllegalArgumentException: parameter type mismatch

The problem only occurred if the parameter was defined with a length of 10 or
more.

WRM-9610 (CN-01474007)
----------------------
After deploying a new minor version of a case data model (containing additional
attributes), users were unable to open any work items that were created using
a process version that referred to the older version of that case data model.

This problem only affected processes that used pageflows or calls to service
processes, and was caused by the way that case reference were handled internally
when being passed between these entities.

WRM-9586 (CN-01472849)
----------------------
If a process instance halted because publication of audit data to an EMS server
failed for some reason, the process instance could not be retried. Any attempt
to retry the halted process instance resulted in it going into the "Active"
state but never progressing.

WRM-9564 (CN-01469297)
----------------------
If a business process called an external REST service (using a service task) and
the service was unavailable, the process halted with the following exception:

   com.tibco.bx.core.faults.BxException: For input string:
     "ServiceUnavailableException"

This occurred even if the process was configured with a "Catch All" activity.

WRM-9563 (CN-01469457)
----------------------
If you added new optional attributes to a class in an existing case data
project, then deployed the project as a new minor version, deployment failed
with an error similar to this:

   Incompatible changes made during upgrade of version <number> of model <name>
   Details:
   The following unsupported changes were made:
      1. [Change] Attribute instanceClassName in ActionsObject has changed from
         null to org.eclipse.emf.common.util.Enumerator
      2. [Change] Attribute instanceTypeName in ActionsObject has changed from
         null to org.eclipse.emf.common.util.Enumerator
   
This error only occurred if the case data project contained a large number of
classes and attributes.

The error occurred because the BPM runtime incorrectly detected incompatible
changes, even though the project did not contain any such changes. (Adding a new
optional attribute to a class is a non-destructive change.)

WRM-9551 (CN-01456801)
----------------------
A service process instance or pageflow process instance would sometimes hang
when processing a service task, if the called service returned an error. For
example, an instance hung on a database service task if the associated JDBC
connection was trying to use the wrong user or a locked account. The error
should instead have been either caught by in-process logic (for example, by a
Catch Error event), or caused the process instance to halt.

The problem occurred when processing the retry settings configured on the
service task. Note that this problem only affected in-memory process instances,
not stateful business process instances.

Now, ActiveMatrix BPM ignores the retry settings configured on the service task
for in-memory process instances (only). The error is processed immediately,
allowing it to be caught within the process or causing the process to halt, as
appropriate.

WRM-9530 (CN-01457004)
----------------------
A BPM node rejected all incoming requests to the BPM API while it was running a
scheduled job to process a dynamic model extension point. The problem occurred
when the node was attempting to process dynamic organization model extension
points that took too long to process. (While a BPM node is running a scheduled
job to process a dynamic model extension point, access to the organization model
is locked. This means that all incoming requests to the BPM API are blocked
until the job completes, as the call cannot be authenticated.)

WRM-9528 (CN-01459876)
----------------------
The following error occurred repeatedly in the BPM log file:

   com.tibco.n2.ec.core.triggers.ProcessHierarchy - Error fetching model for
   instance [pvm:0axxxxxxx]
   org.hibernate.MappingException: No Dialect mapping for JDBC type: -9

WRM-9527 (CN-01456654)
----------------------
When using a distributed ActiveMatrix BPM system, a scheduled job to update the
organization model only updated the node on which the job was processed. Other
nodes in the system were not notified of the update. The problem occurred if the
organization model used extension points and candidate queries, when the node
was attempting to process dynamic organization model extension points that took
too long to process.

WRM-9474
--------
The restserviceconfig.properties, in the <CONFIG_HOME>/bpm/bpm_app_name/
configuration folder, has been renamed as RESTServiceConfig.properties.

Also, the 'loglevel' property (introduced by WRM-9426 in 4.1.0 HF-04) now works
in Linux environments as well.

WRM-9430 (CN-01449224)
----------------------
When using a distributed ActiveMatrix BPM system, the Directory Engine (DE)
service failed to start on one of the nodes when the nodes were restarted. The
following exception was returned:

   com.tibco.n2.de.config.InitialDeploymentException: Failed to perform initial
   deployment of existing Organization Models.

The problem occurred when the node was attempting to process dynamic
organization model extension points that took too long to process.

WRM-9352 (CN-01443648)
----------------------
When a client application used the saveOpenWorkItem operation (in the
WorkItemManagementService), the request failed if the request body contained a
type-based value for a data field defined as a complex type (complexSpec). The
request succeeded if it used an element-based value.

WRM-9343 (CN-01253006 / SR-722510)
----------------------------------
On a distributed BPM system, if the shared configuration folder (used to store
BPM properties files) is not called <SHARED_DIR>\configuration, upgrading the
ActiveMatrix BPM version could encounter problems.

WRM-9306
--------
A TIBCO ActiveMatrix BusinessWorks application failed (with an 'Output data
invalid' error) when calling the openWorkItem operation from the
WorkPresentationService service. The error occurred when the work item invoked a
dynamic pageflow, because the openWorkItem response message did not contain a
formIdenitifier element, which was expected by the schema.

NOTE: If you have developed client applications that use the BPM public web
service API and that call the openWorkItem operation from the
WorkPresentationService service, you will need to modify
the WorkPresentationService schema definition used by your application to
prevent this error from occurring. To do this:

1. If your application uses:

   * a WSDL generated from the WorkPresentationService running on the
     ActiveMatrix BPM runtime, regenerate that WSDL.

   * the BPM public web service API (WSDL and XSD files) directly, updated
     versions of the wp.xsd, wp-basetypes.xsd and wpModel.xsd files are
     supplied with this Hotfix, in the 4.1.0_HF-005_wsdls archive file. (The
     updated versions make the formIdentifier element optional.)

2. Update your application to use the new wp.xsd, wp-basetypes.xsd and
   wpModel.xsd files, or the regenerated WSDL, as appropriate.
   
WRM-9300 (CN-01259494)
----------------------
In certain circumstances, upgrading an already deployed Business Data project to
a new minor version failed with the following error:

   Incompatible changes made during upgrade of version <number> of model <name>

This error only occurred in a scenario involving two Business Data projects (for
example BDP1 and BDP2), where a class in BDP1 contained an attribute, the type
of which was a class in BDP2. If BDP1 were then upgraded, the error occurred.

The error occurred because the BPM runtime incorrectly detected incompatible
changes, even though the project did not contain any such changes.

WRM-9295 (CN-01253006 / SR-722510)
----------------------------------
During an upgrade, the createdb-admin.sql script failed with an "ORA-28007: the
password cannot be reused" error. This occurred because the script used the
database password multiple times (via the IDENTIFIED BY clause), which was not
permitted by the database profile.

WRM-9294 (CN-01260121)
----------------------
If a process instance contained a sub-process that had previously been migrated,
an attempt to retry, suspend or resume the process failed, generating the
following exception in the BPM log file:

   [ERROR] com.tibco.pvm.system.PvmSystem - Unexpected Uniqueness Violation

WRM-9282
--------
A runaway process generated a large number of tasks within a single process
instance. This resulted in the instance generating large numbers of audit events
and lots of rows in the PVM_* database tables.

Now, when the BPM runtime starts to process an event for a process instance, it
checks (and increments) how many tasks the process instance already has. If this
value equals or exceeds a threshold the process instance halts and writes the
following warning to the BPM log file:

   [WARN] - {MAX_TASKS_PER_INSTANCE_REACHED} - Instance [pvm:xxxxx] has reached
   the maximum number of tasks allowed: [1,000].

and the following audit message:

   BX_INSTANCE_PROCESS_MAX_TASKS_REACHED  Maximum number of tasks per instance
   reached.

You can configure the threshold value (default 1000) using the
com.tibco.bx.maxTasksPerInstance JVM property. You may wish to do this if, for
example:

* your process design contains a large number of loops or tasks.
* you have long running processes, whose task count may get large even though
  the process isn't running away.

If you set a high value, your BPM system could stall if process instances reach
a runaway state, as it will take time to reach the threshold.  If you know your
task per instance count you may wish to set the threshold to a lower value.

NOTE: When this Hotfix has been applied to a BPM system, the count for all
existing process instances starts from 0 - so a process instance will only halt
if the number of tasks created after the Hotfix has been applied reaches the
threshold value.

WRM-9266 (CN-01257104)
----------------------
In some situations, an expression or script was evaluated incorrectly because
the process instance was using an old value (that is, one set earlier in the
process instance's lifecycle) instead of the current value. This could lead to
unexpected behavior - for example, a gateway following an unintended path.

WRM-9230 (CN-00719110 / SR-706408)
----------------------------------
Populating an attribute with a value containing any special characters sometimes
caused the process instance to halt, due to an error in writing the attribute
value to the BPM database.

WRM-9224 (CN-01446081, CN-01239572 / SR-740136)
-----------------------------------------------
When publishing BPM audit date to an external Enterprise Message Server (EMS),
the number of EMS message producers kept increasing, eventually causing a
resource leak. This error occurred if the amx.bpm.ec.threadpool resource
template used different values for its Core Pool Size and Max Pool Size values.
In this case, threads are created and reclaimed dynamically as required, but
reclaimed threads were not being handled correctly, causing the increase in EMS
message producers.

WRM-9110 (CN-00740153 / SR-723447)
----------------------------------
An attempt to cancel a number of process instances failed if those process
instances contained large numbers of child instances (either sub-process
instances or user tasks). This occurred because the time taken to process the
cancellation exceeded a transaction timeout value, causing the transaction to
roll back. To resolve this problem, cancellation requests are now processed in
batches.

NOTE: The batch size defaults to 100, and can be configured using the
com.tibco.bx.maxCancelChildrenBatchSize JVM property. Do NOT change the value of
this property unless you are advised to do so by TIBCO Support.

WRM-9082 (CN-00737656, CN-01252454, CN-01452206)
------------------------------------------------
A process failed when processing parameters on an invocation of a sub-process
from a pageflow, if the parameters included any BOM fields. A
PROCESS_EXIT_WITH_FAULT error was written to the BPM log file (with exception
detail relating to the classloaders being used for the BOM fields being passed
to the sub-process).

WRM-9057 (CN-00714307, SR-692103)
---------------------------------
A new supportTimeZoneInDateTime property is available in the <CONFIG_HOME>\bpm\
<bpm_app_name>\configuration\bds.properties file. This property controls
timezone support for the "Date Time" data type, when that type is used in a case
data model (and case objects created from that model).

If supportTimeZoneInDateTime=true, or if supportTimeZoneInDateTime is not
present in the bds.properties file (the default), timezone information is
supported. In this case:

- A "Date Time" value that is written to a case object (for example, from a
  script or form) can, optionally specify a timezone. If the value does not
  specify a timezone, it is assumed to be in UTC. In either case, the value
  written to the case object is stored internally (in the case data store) in
  UTC.
 
- A "Date Time" value that is read from a case object is always qualified with
  the 'Z' suffix to indicate that it is in UTC.

If supportTimeZoneInDateTime=false, timezone support is disabled for the "Date
Time" data type. In this case:

- A "Date Time" value that is written to a case object must not specify a
  timezone. If the value does specify a timezone, it will be rejected and the
  case object will not be created or updated.
 
- A "Date Time" value that is read from a case object does not include a
  timezone.

To disable timezone support, add the following entry to the <CONFIG_HOME>\bpm\
<bpm_app_name>\configuration\bds.properties file:

   supportTimeZoneInDateTime=false
   
NOTE: The supportTimeZoneInDateTime property does not affect the behavior of the
"Date Time and Time Zone" data type.

WRM-8934 (CN-00711501)
----------------------
Additional logging information is now provided to assist users in the event of
problems when deploying business services, pageflows and business services.

WRM-8878 (CN-00807167 / SR-651541)
---------------------------------
Correlation messages were sometimes not being processed correctly when using
asynchronous Send/Receive tasks, even though the correlation id and correlation
data were identical.

WRM-8876 (CN-00808116  / SR-655441)
-----------------------------------
In certain circumstances, attempting to resume a HALTED process instance
resulted in the process incorrectly going into a FAILED state. This meant
that you could not attempt another resume.

WRM-8875 (CN-00807238 / CN-00778329)
------------------------------------
Correlation processing sometimes failed when one or more receivers, matching
the correlation data, referenced non-existent tasks or processes. The BPM
runtime now:
- checks for valid tasks referenced in waiting rows of the
  PVM_MSG_WAITING_RECEIVER BPM database table.
- provides extra information on INFO level logging messages.
- writes a WARN level logging message if a matching receiver is found with a
  non-existent task or process.

WRM-8874 (CN-00779900 / SR-656450)
----------------------------------
In Openspace, when listing migration rules, sometimes an exception was thrown -
for example:

   at java.lang.Thread.run(Thread.java:745) Caused by: java.lang.
   NullPointerException at com.tibco.bx.management.BxManager.
   listMigrationRules(BxManager.java:4244) ...

This happened because, although the migration versions existed, information
about the migration versions was not complete. Now, any missing data is skipped
and the migration rules display. Any warnings about invalid rows are written to
the BPM log file.

WRM-8873 (CN-00779950 / SR-656630)
----------------------------------
An exception occurred when processing catch tasks for a specific throw event in
a process, if one or more of the catch tasks did not exist. Now, if any of the
catch tasks do not exist, they are skipped and the task continues processing as
normal. Any warnings about missing catch tasks are written to the BPM log file.

WRM-8793 (CN-00778329 / SR-651342, CN-00807238 / SR-651828)
-----------------------------------------------------------
For correlation processing, the BPM runtime now provides additional information
on INFO level logging messages to show how many matching receivers have been
found for the correlation data. For example:

   [INFO] - {BX_FOUND_WAITING_RECEIVERS_NUMBER} - Found [3] waiting receiver(s)
   for...
   ...
   [INFO] - {BX_FOUND_WAITING_RECEIVERS_NOTIFIED} - Waiting receiver has been
   notified for ID=pvm:001iap PID=204 ...
   ...

WS-1769 (CN-01465136)
---------------------
When using Internet Explorer 11 (only), with Workspace configured to open work
item forms in a separate browser window, the first attempt to open a form
sometimes failed, displaying just a blank separate browser window. A
subsequent attempt to open the same form was usually successful.

The following error message was also displayed when the user tried to log out:

   "A work item form is open in a separate browser window"
   
caused by the form that failed to load.

OS-3516 (CN-00723364 / SR-720563)
---------------------------------
When opening a work item, if the form's resource URL was from a different domain
to the hosting application's domain, the form failed to load.

FORM-6744 (CN-01446107)
-----------------------
If a grid in a form was configured as read-only, it was still possible to delete
a row in that grid by pressing the DELETE key.

Environment

All Platforms

Issue/Introduction

TIBCO ActiveMatrix(R) BPM 4.1.0 Hotfix 005 is available

Additional Information

TIB_amx-bpm_4.1.0_HF-005_readme.txt

Attachments

TIBCO ActiveMatrix(R) BPM 4.1.0 Hotfix 005 is available get_app