SR-D24950 · Issue 494563
Added explicit step page to resolve null pointer exception with custom error message
Resolved in Pega Version 8.3.1
A null pointer exception was generated during case run time harness refresh after a custom error message was inserted. This was traced to a blank step page related to the custom message, and has been resolved by adding a primary step page at step 10 of the New(Work-) activity to prevent the null pointer exception on harness reload.
SR-D33359 · Issue 505772
SelectAll properly applied to only the page selected
Resolved in Pega Version 8.3.1
In repeating grid, applying SelectAll on one page resulted in it being applied to the next page as well even though all records in the other page were not selected. Investigation showed that on change, the 'when' condition added to refresh the list was always false. To resolve this, the condition in section pzBulkProcessingCheckbox which refreshes the list once the checkbox is changed has been removed.
SR-D25163 · Issue 504610
Improved query efficiency for bulk processing
Resolved in Pega Version 8.3.1
Spikes were observed in Library Cache usage. These were traced to queries that originated from Agent 'AgentBulkProcessing' and the activity 'PzAgentBulProcessing' that used "like" and "as", which were not performance efficient in a large-scale installation. The queries in the CheckBulkProcessQueue activity have now been updated to improve performance.
SR-D33227 · Issue 510824
Check added for lock expiration when using Save for Default locking
Resolved in Pega Version 8.3.1
With the default case locking policy, during the process from creating a Case Object to Submit it was possible for multiple users to edit and save the same work object if the lock expired for the original user. No warnings appeared. To resolve this, handling has been added for a lock expiration scenario: previously, Save for Default locking was not considered. This has now been updated with a check that will evaluate whether or not the lock is gone before attempting to save.
SR-D44215 · Issue 512190
Navigation Breadcrumb honors pyDisplay in navigation link subflows
Resolved in Pega Version 8.3.1
After configuring a sub process (screen flow) inside a screen flow connected by a decision shape having a fork condition, the Navigation breadcrumb for this subprocess was always visible irrespective of the connector when condition. This was traced to pyDisplay not being considered for subflows while building navigation links, and has been resolved.
SR-D20817 · Issue 499919
Async cache checking updated for interaction reload use
Resolved in Pega Version 8.3.1
A thread level data page using connect REST to get data from an external system with the "Reload once per interaction" checkbox ticked was being loaded asynchronously from the activity when by default the data page it was supplying needed to be loaded synchronously. Due to this, changes to the data in the external database were not reflected in the data page. This was caused when an async cache was referred and the freshness check for the data page instance did not consider the 'reload once per interaction' flag because it would cause the data page to load twice. The cache checking has been updated to resolve this.
SR-D21776 · Issue 493777
Corrected freshness check for async cache
Resolved in Pega Version 8.3.1
A node level data page with time based refresh strategy was getting refreshed before the time out and many Pega0045 alerts were observed. Investigation showed the Load-DataPage activity step was causing the data page to be requeued and reloaded even if the earlier asynchronously loaded data page was fresh. This was due to a timing issue with the multiple asynchronous load of a data page where the freshness check for the already loaded instance was done before queuing the data page load, causing the check to fail. To resolve this, the freshness check will be performed on the instance which is present in the asynchronous cache if the instance in synchronous cache is stale.
SR-D22437 · Issue 492855
Handling added for Pagelist Reference Property in LegacyPageAdapter getMode API
Resolved in Pega Version 8.3.1
Post upgrade, a "Component Stack Mismatch" error appeared while opening a work item containing an embedded section that used a Data Page D_WorkApprovalCase input parameter as the Page Context. This was traced to an exception thrown by the getMode() API invoked on an auto-populate property because the property was in a read-only data page. By default, read-only data pages are light weight clipboard pages, but auto-populating properties on light weight clipboard pages was not handled via the failsafe page in the getMode() API. This has been fixed by adding handling to the getMode API of LegacyPageAdapter for properties not supported by redux ( eg: reference, autopopulate properties etc).
SR-D24193 · Issue 492564
Updated retry for context registraton
Resolved in Pega Version 8.3.1
The system was intermittently hanging after importing zipped files. Investigation showed that Batch threads were becoming stuck in AuthorizationContextManagerImpl.setSpecializations() due to a 'while' loop in setSpecializations that was seeking to register the new context. To resolve this, logic has been added which will try to register up to 10 times. If for any reason it can't register, the system will just return the unregister LAC. The check before deregister has also been enhanced and now will only deregister if the new context and the current context are different. It will not call register if the current context and the new context are the same.
SR-D24198 · Issue 492696
Updated retry for context registraton
Resolved in Pega Version 8.3.1
The system was intermittently hanging after importing zipped files. Investigation showed that Batch threads were becoming stuck in AuthorizationContextManagerImpl.setSpecializations() due to a 'while' loop in setSpecializations that was seeking to register the new context. To resolve this, logic has been added which will try to register up to 10 times. If for any reason it can't register, the system will just return the unregister LAC. The check before deregister has also been enhanced and now will only deregister if the new context and the current context are different. It will not call register if the current context and the new context are the same.