Message recovery strategy for an IBM MQ mapping task
You can configure message recovery for a mapping task that reads from an IBM MQ source. If the task crashes or if it terminates unexpectedly, you can rerun the task to recover the task from the last check point.
When you configure the recovery strategy for a task, the Secure Agent recovers unprocessed source messages from a failed mapping and stores them in a recovery file. If the task fails, run the mapping task in recovery mode to recover messages that the Secure Agent did not process.
When you configure message recovery for an IBM MQ mapping task, ensure that the configured mapping runs with the Destructive Read option enabled for the source object to avoid faliure of the mapping task at run time.
When you run a mapping task enabled with recovery strategy and it fails, the Secure Agent generates the recovery file in the following directory:
These recovery files are generated in the following format:
pmgmd_metadata_<Mapping task ID>_<Unique_ID>.dat
Enabling the message recovery mechanism
After you create a mapping, add the mapping to a mapping task, and configure the advanced properties.
When you run the associated mapping task, the Secure Agent saves the mapping state of operation and maintains recovery tables. If the task crashes, the Secure Agent uses the saved recovery information to resume the mapping from the point of interruption.
1Create an IBM MQ mapping configured with the Destructive Read option enabled for the source object.
2Create a mapping task that uses the configured IBM MQ mapping.
3In the Runtime Options tab, add the following properties in the Advanced Session Properties section:
aIn the Commit on End of File field, select the value of the property as No.
bIn the Commit Type field, select the value of the property as Source.
cIn the Recovery Strategy field, select the value of the property as Resume from last checkpoint.
4Click Save > Run the mapping task.
Optimizing the maximum rows for a commit
You can optimize the maximum rows for every commit in a mapping task enabled with recovery strategy to write data to the target.
The Secure Agent commits rows based on the specified transaction batch size of IBM MQ. By default, the Secure Agent uses a transaction batch size of 100.
To optimize the maximum rows for a commit, set the JVM option to -DdefaultRowsForCommit=<Number of rows> for the Secure Agent. The Secure Agent overrides the default transaction batch size of IBM MQ and uses the value you set.
1Log in to Informatica Intelligent Cloud Services.
2Select Administrator > Runtime Environments.
3On the Runtime Environments page, select the Secure Agent machine that runs the mapping.
4Click Edit.
5In the System Configuration Details section, select Data Integration Server as the service and DTM as the type.
6Edit the JVM option, and set the value to -DdefaultRowsForCommit=<Number of rows>.