From the Salesforce Certified Sharing And Visibility Designer exam guide:
Universal Containers has successfully implemented a large Service Cloud rollout for their national call centre 3 months ago. One of their largest customer accounts, United Automotive, has over 15,000 open cases. Agents are now having trouble opening new cases for United Automotive. When they try to create a case, the following Error message appears for them:
UNABLE_TO_LOCK_ROW
They notice that this only occurs for the United Automotive account. If they try to save the case again it will usually work, but the problem seems to be happening more and more often.
What option should the Architect recommend?
Choose one answer
- A. Review all Account sharing rules to ensure that the Customer Service team has Read/Write access to the United Automotive Account.
- B. Review the Account structure to split the United Automotive account into multiple branch accounts.
- C. Review all Case Sharing Rules and consolidate where appropriate to reduce the total number of sharing rules.
- D. Review the Customer Service Profile to ensure that they have Read/Write access to the appropriate Case and Account Fields.
The first thing I notice about this scenario is that 15k open cases for a single account seems pretty uncommon, and a huge number! In my vision this clearly indicates an issue with a product/service (or maybe negligence of the support structure). But given the possible answers, I think this might be irrelevant.
Second thing that comes to my attention is that if it happens to a single account, then of course it must be something related to that single record, and not with the account object per se. So it must be Apex or Sharing, or maybe both.
Finally, each option analysed:
A. It is not this option because if it were a permission error we wouldn't even get the row lock error. The users would get an insufficient access error first.
B. I don't understand how splitting the account would help here, so I ignore this option.
C. Now this seems at least more logical. But still, I don't get how row locking might be related to the amount of sharing rules. Sharing rules take some time to be calculated when we change Organisation-Wide Defaults, depending on the amount of records for the changed object. After letting Salesforce process the change, the platform behaves normally, without delays because of the rules. I chose this option.
D. Same thing as A.
Is this the kind of question in which you eliminate the wrong possibilities and are left with an option that doesn't seems right or wrong? If not, then what is the correct thought process to get to the correct answer (B)?