Support Article
Transaction ID mismatch on interaction post upgrade to Pega 7.1
Summary
User has recently upgraded their application from PRPC 6.2 to Pega 7.1.7 version. Issue is from Production system, where for some of the work objects, there are certain Sections with collapsible header in Harness that are not rendering or appearing blank on expanding.
Error Messages
ERROR: posted transaction id '897243994bc3ec40e284bf1f66015ccb' for frame 'pyWorkPage' DOES NOT match record 'a7c5b43aa8825901a8bde7f641768dd5'
Steps to Reproduce
- Click on button that opens the selected work item.
- Expand the collapsible Section.
Root Cause
When user clicks on button, following details are recorded on Fiddler.
Session 1: Activity OpenFrmIncEditButton returns transaction id x
Session 2: Activity GenerateActionFrame returns transaction id y
Session 3: Activity ReloadSection sends transaction id x
In the timeline shown below, the first line is GenerateActionFrame, the second is ReloadSection:
Session 3 fires 0.5 seconds after the start of session 2 and completes before session 3 does, making transaction id y stale and thus the issue with any subsequent request that carry transaction id y.
The button used was actually a deprecated button control (custom - non auto) that does not work as expected (PRPC 6.2 behavior) in Pega7, and triggers an extra ReloadSection Activity call causing the overlap.
Resolution
Updating it to pxButton control resolves the issue - this extra 'ReloadSection' (session 3) doesn't trigger with auto-generated control.
How to?
On click of old button control (non-auto), doAction will have configuration that accepts target where it need to show the returned markup. 'Launch Harness-Replace Current' is the correct equivalent for the doAction of non-auto button in Pega 7 with new pxButton control.
1. Configure the on click action set similar to what is shown below. Call the processing Activity in the first step, then launch Harness.
2. In the Activity, based on your logic/when conditions, assign the harness value to a dummy Property which is referred in “Harness-Replace Current” action set. The only thing that need to be changed in Activity is replacing “call ShowHarness” to “Property-Set”.
Published May 6, 2016 - Updated October 8, 2020
Have a question? Get answers now.
Visit the Collaboration Center to ask questions, engage in discussions, share ideas, and help others.