When the IIR Table Loader creates an IDT it creates triggers on the User Source Tables, commits them and opens a cursor to extract data from the USTs. A very small timing window exists between the commit and the opening of the cursor.
If a user transaction starts, adds a new record and commits inside this window, the trigger is fired and an "add" transaction is logged to the transaction table. The cursor used to unload the UST records will also see this new record so it is added to the IDT as part of the initial load process. When the Synchronizer starts processing transactions and attempts to "add" the same record it will detect that the record already exists and will terminate with a PK violation error.
In the unlikely event that this happens, you may delete the transaction using the steps outlined in the