Problem
Marketo reports "Add to SFDC Campaign" failures with error "Failed: (UNABLE_TO_LOCK_ROW: unable to obtain exclusive access to this record or 1 record 7...) where the record begins with a 7.
Impact
Market fails to associate campaigns to leads or contacts.
Possible Solutions
Ultimately, this needs to be addressed by Marketo.
In the meantime, Full Circle will explore ways for customers to be able to re-run the insertion. The usual steps FCI takes to reduce CPU time usage will also help reduce the chances of this occurring.
Possible Product Solutions
There is no solution to this on the Salesforce side.
Root Cause Analysis
Marketo is currently doing Campaign associations one at a time. This is not best practice of course - in that it's typically better to perform bulk operations. However there is a trade-off, in that bulk operations create the risk of CPU timeouts.
When a campaign association takes place, the campaign is temporarily locked. If an external application such as Marketo attempts to perform multiple associations to the same campaign on different leads or contacts, the chances of a lock condition (and this error occurring) increase.
The chances of the error increase as the the number of triggers, processes, workflows and asynchronous operations on the CampaignMember increase. Thus it is quite possible that the association will work on a plain system, and fail on a system that has functionality attached to CampaignMember insertion and updates (both code and declarative).
Short of eliminating all functionality on the CampaignMember, there is no way to solve this problem on the Salesforce side. It is the responsibility of the external application to detect this transient error and retry the operation. Alternatively, they can spread out the timing of insertions for specific campaigns in order to reduce the chances of this error occurring.
Comments
0 comments
Please sign in to leave a comment.