Row was updated or deleted by another transaction

Hello team,

We are having the next error during “Identity refresh” task:

Maximum refresh exceptions reached
Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect) : [sailpoint.object.Link#ac1201597e4f1a96817e532ca33c11b8]
Task was terminated by user request

Does anyone know about this error?
Could anyone help me or give me some advice to know how to solve it?

IIQ 8.1p4

Thank you in advance.

Is this happening every time? I would expect to see this if multiple threads were modifying Links on the same Identity at the same time. Do you have any custom workflows that are kicking off additional workflows that would modify that Identity? If so, they should attempt to lock it before making their modifications.

Along the same lines that @bernie_margolis mentioned above - do you have any logic that runs during the Identity Refresh? Identity Triggers, Identity Attributes, role assignments, refresh rules? Are there any cases in those blocks of beanshell logic where you are calling any of the following:

context.saveObject()
context.removeObject()
context.commitTransaction()

Do you know if anyone (maybe during some data cleanup) has ran any direct sql scripts against the spt_link table?