SR-D77719 · Issue 569770
OpenIfStale updated to resolve optimistic locking race condition
Resolved in Pega Version 8.2.8
A race condition was created in optimistic locking by having two assignments save at overlapping times. This has been resolved by modifying the pzShowConflicts activity to use a version of openIfStale which will consider a workpage as stale even if the difference in pxUpdateDatetime is in milliseconds.
INC-135015 · Issue 591980
Handling added for overriding questions rules
Resolved in Pega Version 8.4.4
After overriding questions rules and then upgrading/validating Question Groups, questions were not shown. It was necessary to manually edit, save, and refresh for the questions to appear, affecting mainly Rule-PegaQ-QuestionGroup rules. This was traced to missing handling for this usecase. The commit was added in Revalidate and Save, which was committing different data because the upgraded data was not copied back to step page being used. Due to this, the commit in BulkValidateSave was overriding the changes done in the pzUpgradeSurveyInstance activity, and the survey upgrade was failing. To support this use, Page-Copy has been added to pzUpgradeSurveyInstance after the pzSaveSurveyInstance call step to copy the updated data to the step page which will later be committed by BulkValidateSave during revalidate and save.
INC-143195 · Issue 596846
BLOB utility modified for better memory usage
Resolved in Pega Version 8.4.4
An out of memory error was encountered when running the utility for handling corrupted BLOBs. This has been resolved by modifying the utility to get the rows in batches.
INC-131938 · Issue 598479
Locking and classmap improvements
Resolved in Pega Version 8.4.4
Threads were getting stuck inside classMap and tableInformationMap, causing nodes to go down. This was traced to issues with classmap performance and locking, and has been resolved by replacing the lock library with a newer version and refactoring the tableInformationMapImpl class to use a concurrent hashmap instead.
INC-141838 · Issue 601680
Locking and classmap improvements
Resolved in Pega Version 8.4.4
Threads were getting stuck inside classMap and tableInformationMap, causing nodes to go down. This was traced to issues with classmap performance and locking, and has been resolved by replacing the lock library with a newer version and refactoring the tableInformationMapImpl class to use a concurrent hashmap instead.
INC-151568 · Issue 610221
Handling added for comma value in FusionCharts XML
Resolved in Pega Version 8.4.4
After creating a Summary Report through the report browser and adding that report to the Dashboard, clicking on the report to drill down generated the error "Can't open the rule with the specified keys". Investigation showed that if a category or series in a Report Definition chart contained a comma, the drilldown would not work because of an incorrect pyclassname being passed. This was traced to the use of XML to configure the chart: the FusionCharts third-party library parses the link XML incorrectly and splits JS arguments at any comma. This was a missed use case for having a comma in the name, and has been resolved by adding encoding for the comma value in pzMultiSeriesData FusionCharts XML rule. Then this will be decoded in the drilldown JS APIs pzPega_chart_legacydrilldown and pega_report_summary.
INC-146223 · Issue 604467
Date column filter shows correct date/time for optimized code
Resolved in Pega Version 8.4.4
Two issues were seen when filtering a table that had the "Optimize Code" checkbox checked: 1) While filtering the date values in the table, the table showed one day less than the actual date based on timezone differences. When both the operator and server timezones are the same, the issue did not occur. 2) The filter always showed the time value as 00.00 irrespective of the property timestamp value. These were traced to the pyModes being incorrect for embedded properties, which has been resolved.
INC-157097 · Issue 619995
REGEX In Expression Builder matches runtime values
Resolved in Pega Version 8.4.4
An expression builder statement was evaluating differently at runtime vs at testing. This was traced to a difference in escape character handling between old legacy code and the new strategy runtime engine, and has been resolved by ensuring the strategy runtime engine is supporting escape character use cases.
INC-142569 · Issue 597897
CORS headers added for Health check URL
Resolved in Pega Version 8.4.4
Pega Health Check URLs were throwing CORS error when invoked for application Health checks. This has been resolved by adding CORS headers for pingService responses.
INC-150845 · Issue 606354
OpenRule logic updated for GetRuleInfo
Resolved in Pega Version 8.4.4
The exception "InsufficientPrivileges:RuleExecutionDenied RULE-OBJ-ACTIVITY @BASECLASS PZGETRULEINFO" was thrown for some access groups when attempting to view a section from the end-user perspective on the Opportunity screen. Investigation showed this happened when a section had a table in which "Optimize code" was unchecked. If "Optimize code" was checked, then the exception was not thrown. This was traced to recent security changes in pzGetRuleInfo which affected the BAC registration process, and has been resolved by updating the way the openRule action registration logic invokes the activity.