Skip to main content

This content has been archived and is no longer being updated. Links may not function; however, this content may be relevant to outdated versions of the product.

Support Article

Lock not releasing while closing the object

SA-21195

Summary



Developers mentioned that the lock is not released on closing the work object( Phone Call). They could see the entry in locks table even after closing the WO.
 

Error Messages



Not Applicable


Steps to Reproduce



Open custom interaction portal.
Launch an interaction.
launch an intent task.
Close interaction tab and verify system locks.


Root Cause



An issue in the custom application code or rules :
The threads were not getting deleted when they launch an intent task in an interaction and close the tab from top (close icon).
Also the pr_sys_locks table had the lock for those WOs and were not cleared, which ideally should be.

Further found that the issue did not happen when we do the same usecase from CPMHCInteraction portal, whereas it occurred only for your custom portal. Could see that in ‘CPMClearPortalRecents’ activity, at step 6.3, the when condition is becoming false and it is skipping the required steps from tracer. Where as in the in-house system, the steps were executed properly.

Replaced the when condition with ‘true’ so that it evaluates to true and executes the steps. Then the UI was cleared properly, threads were closed and the Home is been not replaced with the Intent screen.

The When condition is as below.
Local.DocIndex != -1 && Declare_pyDisplay.pyDisplay(D_CPMPortalContext.PortalName).pyUIElements(Local.DocIndex).pyStatus == "Loaded"

Then first condition itself is false at developer end.
Local.DocIndex = @(Pega-RULES:Utilities).IndexInPageList(TempRecent.pyContentID , "pyElementName", Declare_pyDisplay.pyDisplay(D_CPMPortalContext.PortalName).pyUIElements)

The value of ‘D_CPMPortalContext.PortalName’ at developer end is CPMHCInteractionPortal. Instead it should be their custom portal Name as they are launching a custom portal.The value of ‘D_CPMPortalContext.PortalName’ is set from 'pyDefault' DT of CPM-Portal class. At developer end this is customized and they are hard coding 'CPMHCInteractionPortal'. In in-house that is set to pxThread.pxPortal.

But after making this change, when create a phone call, the tab itself is not coming and the harness is a wrong one. Compared the tracers again and saw that the Perform harness was picking base version instead of the circumstanced one as the portal name is changed now.

And their custom Review harness is also replacing the entire phone call. Where as OOTB review harness takes care of Interaction Driver and replaces only the Member 360. Asked developer to customize that rule.


Resolution



Perform the following local-change:

1. Go to class CPM-Portal open the 'pyDefault' data transform in it and in 2nd or 3rd step, change it to ‘pxThread.pxPortal’ and save it.
2. Save ‘CPMIsInteractionPortal’ when condition and add your portal name as condition C and update the logic string also(A || B || C).
3. In circumstance definition of ‘CPMPortalType • CPMInteractionPortal’, please add one more row and add your portal name and ‘desktop’ as Device Type.
4. Please check the Review harness at PegaAppCA level which is taking care of Side Navigation and the Review screen would come only in Member 360 view. Customize this harness according to your needs.



 

Published March 23, 2016 - Updated October 8, 2020

Was this useful?

0% found this useful

Have a question? Get answers now.

Visit the Collaboration Center to ask questions, engage in discussions, share ideas, and help others.

Did you find this content helpful?

Want to help us improve this content?

We'd prefer it if you saw us at our best.

Pega Community has detected you are using a browser which may prevent you from experiencing the site as intended. To improve your experience, please update your browser.

Close Deprecation Notice
Contact us