INC-172692 · Issue 650613
InsID will be derived from handle if null for upgrade
Resolved in Pega Version 8.5.4
Upgrade from Pega 7.2.x to Pega 8.4.x failed with a null pointer exception in the “Upgrade Context” target. This was traced to a rule where the pxInsID was null. To resolve this, an update has been made to derive the InsID from handle when needed.
INC-173092 · Issue 648737
Checks for Apache Tomcat 6 with MSSQL removed
Resolved in Pega Version 8.5.4
After implementing a specific local Tomcat configuration that removed the Tomcat version number from displaying on Tomcat standard error screens, the error "Tomcat 6 not supported or unable to detect version for custom Tomcat: Apache Tomcat. Contact Pega Customer Support!" appeared and Tomcat failed to start. Because Tomcat 6 was not supported for use with Microsoft SQL Server Systems, Pega used the ServletContext.getServerInfo() method to determine the Tomcat version; if the system used Tomcat 6 or an undetermined version in combination with MSSQL then the system would purposefully not start. As Tomcat 6 is no longer supported in Pega 8.5.2 and above, this check is unnecessary in those versions and the Tomcat version 6 checks in ClassMapImpl have been removed to allow serverAllowsMerge to return as true.
INC-174296 · Issue 650754
Delayed JS/DF initialization failures will trigger alert
Resolved in Pega Version 8.5.4
In order to ensure better cluster monitoring, a PEGA0102 alert has been added for job registration failure that will be triggered if there are startup issues. The logging will include the JOB_NAME for improved troubleshooting.
INC-175205 · Issue 652286
Agent restart made more resilient
Resolved in Pega Version 8.5.4
During a timeout outage, agents intermittently encountered a NoClassDefFound error and were disabled. After the database connection was restored, the agents were not automatically restarting. This has been resolved by making the code more resilient to errors; agent will be restarted when a temporary issue is detected, and the restart will be immune to most exceptions.
INC-175672 · Issue 652942
ServicePackage threads properly released
Resolved in Pega Version 8.5.4
After completing a system stress test, the requestor pool threads for the ServicePackage were not released. Investigation showed that the threads were waiting for Data Pages to be loaded in the background even though there was no background job corresponding to those data pages in the Async Services pool. This has been resolved by making an update to avoid removing the object handlers when the load-datapage finds that an entry exists with a NOT_STARTED state.
INC-155640 · Issue 622978
Mobile logging updated for data page required parameters
Resolved in Pega Version 8.5.4
After upgrade, the number of warnings increased substantially in the mobile app log file for D_Pages, specifying "Required parameter X for data page X cannot be blank." This was traced to the forced logging related to missing required parameters for Parameterized DataPages during DeltaSyncs. In order to increase the value of the logging, the process has been moved from being called before packaging the Data Page to being printed later in packaging code and set to warn only about any unsupported data page configuration with required parameters.
INC-157217 · Issue 631970
Field Service mobile refresh timing updated
Resolved in Pega Version 8.5.4
A configuration in the Field Service mobile app used to select and map data from a modal section to a wrapper section used "pega.fsm.mobileutil.reloadSection" to refresh the wrapper section and make the data visible after the mapping. If the refresh was performed after the initial login, the refresh was done on only a portion of the screen and resulted in incorrect data being shown to the user. However, continuing to fill in the section and then saving and reopening the task displayed the correct results. The issue was reproducible only on the first attempt after clearing cache/date: subsequent uses refreshed properly. This was traced to the timing of the configured actions, which caused the refreshSection action to be triggered before the runDataTransform action execution was completed. This has been resolved by adding code that will pause the action queue until the runDataTransform action completed.
INC-157532 · Issue 631715
Corrected runtime name length check for custom fields to resolve logged error
Resolved in Pega Version 8.5.4
The error "Notification_MobilePush.Action ERROR - Can't parse JSON string to map" was being frequently logged. Investigation showed that in the Step8 activity in pySendNofication from Pega-Notification-MobilePush class, setting @String.length(customFields)>0 where customFields was a local value caused the runtime length check on customFields to fail. To resolve this, the Step8 activity in pySendNofication from Pega-Notification-MobilePush class has been modified from using @String.length(customFields)>0 to use @String.length(Local.customFields)>0.
INC-160275 · Issue 628104
Unchecked Include descendant classes in pyFeedUserDetails report definition
Resolved in Pega Version 8.5.4
After upgrade from Pega 7.4. to Pega 8.4, the use of a custom class 'XX-Data-OperatorLoginDetails' which pattern-inherits from Data-Admin-Operator-ID was causing the error "Union not applied because properties [pyImageFileName, pyEmailAddress, pyUseLocale, pyDefaultTimeZone] are not optimized in Data-OperatorLoginDetails”. This happened when the case manager portal was launched and the report definition pyFeedUserDetails (introduced in newer releases) was running by default, and was due to the presence of a few unoptimized properties when the report definition had "Report on Descendant classes" - include all descendant classes, checked by default. To resolve this, the checkbox to Include descendant classes in pyFeedUserDetails is now set as unchecked by default.
INC-160295 · Issue 635009
Null check added for pzinskey in CSLoadSelectedArticle
Resolved in Pega Version 8.5.4
In step 5 of CSLoadSelectedArticle, there is a call to pzGetAssociatedTags. Step 1 of pzGetAssociatedTags is an Obj-Browse with MaxRecords set to 100000000, and there is logic to retrieve records where pxLinkedRefFrom = Primary.pzInsKey. If Primary.pzInsKey is null, then the Obj-Browse will fetch all of the records. In order to prevent an unnecessary flood of results, a when condition has been added in the CSLoadSelectedArticle rule to check pzInskey so that when the context is empty the system will not call the pzGetAssociatedTags and return the entire record set.