Concurrent Process Synchronization in a Clustered Environment

TIBCO MDM has two timer tasks (MqRevivify and FileWatcher) which repeat execution after a specified interval. There can be contention issues when multiple task threads run concurrently in the cluster.

To ensure that such issues do not occur, TIBCO MDM implements a locking mechanism by which when one timer task is running, other tasks either skip the processing or do not work on the same file (as in the case of FileWatcher).

Prerequisites

Each application instance must have a unique Node ID. A Node ID is a logical name for the server instance.

It is recommended to use the hostname_serverinstancenumber naming convention for the NODE_ID . For example, on the lightning machine the server instance is 1. In this case, the NODE_ID is lightning_1.

  • For server instance 1, NODE_ID=lightning_1
  • For server instance 2, NODE_ID=lightning_2

Specify NODE_ID in the standalone.xml file under <system-properties> element. The file is located at $JBOSS_HOME\standalone\configuration directory. For example,

<system-properties>
<property name="NODE_ID" value="Member1"/>
</system-properties>
Note: It is important that each server instance has a different Node ID value and that the Node ID value matches the name in the server instance in the Configurator.