How to get confirmation that Inserts/Deletes of Contacts using the Bulk API will cause Row Lock errors on the parent Accounts, especially if the # of Contacts is large and there are few parent Accounts?
And what exactly causes the issue on the parent Account? (we have disabled all processes/flows/triggers) turned off for Accounts and issue still occur.
Is there any some sort of out of the box rollup between Account/Contact that could be the issue.
I have checked the cheatsheet http://resources.docs.salesforce.com/194/0/en-us/sfdc/pdf/record_locking_cheatsheet.pdf
but unable to get much.

  • 1
    I am not sure on the root cause of the issue (except the fact that some kind of race condition happening between updates) but usually I set the Bulk Api mode from Parallel to serial in updates and that has solved my issue Feb 10, 2016 at 19:16

1 Answer 1


Have a read of the Record Locking Cheat Sheet.

Inserting or Updating a Contact will lock the Parent Account, creating a high risk of lock contention. Especially with a parallel bulk API call.

Can you group your Contacts by parent Account?

You might also want to read Managing Lookup Skew in Salesforce to Avoid Record Lock Exceptions. Having a large number of Contact child records on an Account results in "account data skew which in turn causes performance problems".

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.