When a session fails the Integration Service does not write the new cache files to disk. Instead, it restores the original cache files, if they exist. You must also restore the pre-session target table to the target database. You can avoid the target table issue by putting your commit level to a high number thereby only processing the whole transaction in 1 commit.
If you use the dynamic lookup cache, and it fails, then the changes to the cache will not be saved and they will be rolled back, when using stop on x errors. This means that the row that is loaded into the dynamic lookup cache will be removed. If the dynamic cache is rolled back then you must rollback the target table, to the state it was prior to the session run, for the cache and target to stay in synchronization.
What can we do to improve this information (2000 or fewer characters)