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-148899 · Issue 615704
Adaptive models update correctly
Resolved in Pega Version 8.5.4
Some models had the recorded responses column updated, but the models (number of Positive, Negative and Processed Responses) were not updated. Investigation showed that deleting the modelRuleConfiguration through the stateManager/client did not delete modelFactories related to the configuration. If a new configuration came in with a different algorithm, the update issue occurred. This has been resolved by reseting the configuration according to its factory in that specific case.
INC-156818 · Issue 628467
Materialization uses time limit boundary for query
Resolved in Pega Version 8.5.4
After turning on Materialization for pyIHSummary and OfferOutcomesForPast45Days datasets, an SQL query was taking an excessive amount of time and causing multiple alerts in the logs. Investigation traced the issue to database partitioning, specifically that running a query where the pyOutcomeTime range spanned multiple partitions was causing the indexes for all partitions in the range to be opened. To resolve this, the query has been updated with a DSS to support a partition size of min(pxOutcomeTime) to limit the time range to querying day by day, or hour by hour, or any other chronology unit specified. If there are no records for the current limit, then it will look at the next partition. This should prevent the query from needing to open more than 1 or 2 partitions.
INC-157357 · Issue 636713
Hazelcast remote execution not called from synchronized context
Resolved in Pega Version 8.5.4
After navigating to the Admin Studio portal to view the nodes, the portal was temporarily freezing. Investigation of the thread dump revealed this was caused by a DDS pulse sending a remote execution call to all nodes to update logger settings even though the site was not using DDS. This has been resolved by updating the system to avoid calling Hazelcast remote execution from a synchronized context.
INC-157629 · Issue 626635
Duplicate key exception resolved for adaptive model
Resolved in Pega Version 8.5.4
During the model snapshot update, a DuplicateKeyException was generated while trying to insert a record in to the predictor table. This did not affect the model's learning, but did appear ion the model monitoring report. This was traced to a local scenario of having the same outcome values defined on the model with different cases (Accept and accept). All predictors used in an Adaptive model are inserted into the model monitoring tables as a part of the monitoring job: because the monitoring tables are not case sensitive, this lead to a unique constraint exception since there were multiple IH predictors with the same name. To resolve this, validation has been added which will skip adding duplicates from new responses.
INC-159836 · Issue 631204
Upgraded Apache UIMA Ruta libraries to resolve memory leak
Resolved in Pega Version 8.5.4
A memory leak issue that resulted in a reboot being needed every few days was traced to the class org.apache.uima.ruta.rule.RuleMatch. This has been resolved by upgrading the Apache UIMA Ruta libraries to v2.8.1. A high level of exception logging may be seen under high loads due to annotations in the standard Ruta scripts; this will not impact execution and further work will resolve this in a future release.