INC-148006 · Issue 605582
Enhancements added for very heavy use of strategy decision logic
Resolved in Pega Version 8.6
Recent updates were made to improve memory performance for scenarios where a single request primary page had tens of thousands of pages under an embedded page list property and the decision logic involved a strategy running on all the pages in that page list. To further improve performance, the array iterator has been modified and a DSS has been added that makes the threshold (50) in SSAExecutionContextIteratorFactory tunable.
INC-148585 · Issue 617716
Revision modified to skip empty ruleset version
Resolved in Pega Version 8.6
When submitting a revision, the package created was empty and a ruleset version with empty label and version was created. The error "ArrayIndexOutOfBoundsException" was noted in the alert logs. This exception was traced to pzgetnextrulesetversion and was caused by the ruleset version being passed as empty. This has been resolved by setting an error message on the workpage when the ruleset version is empty, so the revision package will not proceed.
INC-148899 · Issue 615701
Adaptive models update correctly
Resolved in Pega Version 8.6
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-150854 · Issue 608369
Logic optimization disabled in offers
Resolved in Pega Version 8.6
Offers that should not be eligible to customers were passing through even though the offer was narrowed down to using “OR” conditions in the Engagement policies. This was traced to the logic optimization ignoring precedence, and has been resolved by disabling the optimization.
INC-150873 · Issue 612895
Performance improvement for saving ADM model rule
Resolved in Pega Version 8.6
Saving an ADM model rule generated a heap dump. The stack trace from the heap dump showed a thread consuming the maximum memory (4.7 GB of memory). Configurations on all factories are updated when a model rule is saved, but at the time of development it was not expected that there would be a lot of factories in a Dev environment so the system was loading all existing factories simultaneously into memory and updating configurations on them. To improve performance, an update has been made which will now sequentially load factories and update the configuration.
INC-151037 · Issue 609624
Enhanced ADM diagnostic logging
Resolved in Pega Version 8.6
Diagnostic logging enhancements have been added in order to better identify issues related to ADM models not being created or where learning is impacted.
INC-151421 · Issue 614595
Adaptive Model Save-as works With Predictor Type
Resolved in Pega Version 8.6
A predictor change which was accounted for in a previous adaptive model rule version did not work on future save-as. This was traced to a missed use case that when the value 'pyPrevPredTransformation' is empty, validation on that is unnecessary. This has been resolved by adding an 'if' condition in the validation activity.
INC-153223 · Issue 613704
DSS added to set Cassandra query page size limit
Resolved in Pega Version 8.6
When a site with a large number of nodes captured responses to the commit log, it was possible for nodes run out of heap space and cause system instability. This was due to the Cassandra query not having a specified page size, so the cluster-wide default setting of 5000 created an issue for large sites which could have over 150 nodes capturing responses. This has been resolved by specifying the page size on the Cassandra query that used to read responses from the commit log. This value will be set dynamically with a DSS to not read more than n responses from all shards combined in a single batch.
INC-154128 · Issue 614296
High thread contention in StrategySSAProgram resolved
Resolved in Pega Version 8.6
While Running inbound campaigns during peak times, high contention was observed around "threadSafeWrite" and "threadSafeRead". To resolve this and improve performance, the code around handling write locks has been updated.
INC-155822 · Issue 618270
Locking added to avoid null pointer exception for auto-populate property
Resolved in Pega Version 8.6
After configuring the auto populate property "OrgProduct" which referred to a data page, the system experiencing heavy load led to the property not getting properly initialized. This resulted in a WrongModeException and NullPointerException. To resolve this, the system has been updated to lock the requestor when Queue Processors execute their activity. This will prevent race conditions and concurrent modifications if other threads are accessing the same requestor.