Support Article
Optimistic locking behaves incorrectly
Summary
A case type locking is configured as Allow multiple users (Optimistic locking). This strategy allows the first user to submit the case to succeed. All other users who are working on the case are notified. The other users must review the changes before submitting updates made by them.
Two users open a case in Performed mode. First user makes some updates and submits the assignment. Second user again updates a value and submits the assignment. The updates made by the first user are overridden by the updates made by the second user. However, the second user is not notified about the changes in the case.
Error Messages
Not Applicable
Steps to Reproduce
- Configure a case type with Optimistic locking (Allow multiple users)
- Create a case
- Open the work object using 2 separate operators
- Update a field and submit using the 1st operator
- Update a field again and submit using the 2nd operator
- All the changes made by the 1st user are overridden by the changes made by the 2nd user. The 2nd user is not notified about the changes to the case
Root Cause
A defect in Pegasystems’ code or rules. The root causes are as follows:
- pyShowConflicts is not present in Interactionportalheaderwrapper. It is present only in caseheaderouter. Hence, the error message does not display
- Configuring Recalculate and Save before Finish assignment is an incorrect configuration.The activity checks for any error already present on the page,. If no error is found the case is successfully saved by setting new object to True in the Save New activity. Hence, when pzshowconflicts is invoked through Finish assignment, the object is successfully saved.
Resolution
Perform the following local-change:
- Add the pyShowConflcts section to interactionportalheaderwrapper
- Remove Recalculate
- Save the activity before the Finish assignment
Published April 3, 2020 - Updated December 2, 2021
Have a question? Get answers now.
Visit the Collaboration Center to ask questions, engage in discussions, share ideas, and help others.