Mapping objects such as targets, Java transformations, and SQL transformations can affect external files or database tables. When you run a mapping multiple times, these mapping objects can cause unexpected results in the external files or database tables. You must develop the mapping to remove any external effects from the previous mapping run before the mapping restarts in a recovered workflow.
For example, the Data Integration Service stops unexpectedly while a Mapping task with a restart recovery strategy is running. The mapping writes 50 rows to the target before Data Integration Service stops. When you recover the workflow instance, the Mapping task does not recover at the point of interruption and start writing row number 51. Instead, the mapping begins again.
Before the Data Integration Service restarts an interrupted mapping, you must manually remove the rows that the earlier mapping wrote to the target. Or, configure the mapping to remove the target rows.
If you opt to manually remove the target rows, do not configure the workflow for automatic recovery.