Sometimes Full Circle Matchmaker encounters errors while matching, assigning, or converting leads, or when performing other logic like calculating account ratings or email domains. This happens due to a number of factors, such as: 1) other triggers, processes, and workflows doing their own operations on the Lead and Account, 2) bulk inserting or updating Lead or Account records, or various other reasons.
Full Circle Matchmaker is designed to recover from many of these errors. On the Apex Jobs page in Salesforce (Setup --> Jobs --> Apex Jobs), you may see that Full Circle Matchmaker jobs sometimes fail with these errors. This does not necessarily mean that the system is malfunctioning.
Common errors from which Full Circle Matchmaker can recover:
- "Apex heap size too large" - This error is most often seen when attempting to rate many accounts at one time. The Matchmaker system will find the request that caused this error and split it in half until the error no longer occurs. For example, if the system is trying to rate a batch of 200 accounts and encounters this error it will attempt to rate the accounts in batches of 100 instead.
- "Apex CPU time limit exceeded" - This error can be experienced when the system is updating records that cause other triggers, processes, and workflows in the org to fire. Matchmaker recovers from this error similarly to the heap size error in that it will split up the request until the error no longer occurs.
- "Record Currently Unavailable: The record you are attempting to edit, or one of its related records, is currently being modified by another user. Please try again." - This error can also be experienced when the system is working on records concurrently being modified by other triggers, processes, and workflows. Matchmaker will follow the error's advice and try to perform the action that caused the error again, up to a maximum of 10 times. If after 10 retries the error is still occurring, Matchmaker will mark the request as an error and will not continue with the operation.
- "UNABLE_TO_LOCK_ROW, unable to obtain exclusive access to this record" - This error is a variation of the "Record Currently Unavailable" error and is treated in the same way.