INC-148006 · Issue 605581
Enhancements added for very heavy use of strategy decision logic
Resolved in Pega Version 8.5.2
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 pagelist 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-138037 · Issue 586593
Strategy handling updated for very large systems using IH summary
Resolved in Pega Version 8.1.9
When a Strategy in a Real-time dataflow used IH Summary on a system with more than 5000 groups for one eventKey, the message "Error retrieving aggregates from Cassandra KVS" intermittently appeared. Investigation showed that if the number of result rows was greater than the FETCH_SIZE (set to 5000), it meant another read to Cassandra was required and an exception was generated. To resolve this, updates have been made so that instead of returning maps, the system will return iterators and change them to map on the calling thread.
INC-142084 · Issue 599875
Support added for expression in strategy scorecards
Resolved in Pega Version 8.5.2
When invoking REST against a dataflow that had a strategy containing a scorecard that used an expression and the "Include model explanations option" was enabled in the Strategy configuration, the system failed with the error "PropertyValueInvalid .pxMaxScore Cannot cast the value (unknown) to double". This was traced to the Scorecard explanations failing during serialization when an expression was used, and has been corrected.
INC-140821 · Issue 600749
Resolved Intermittent Access Group Issue for GetBundleEventDecisionDetails
Resolved in Pega Version 8.5.2
When using a REST service that calls the GetBundleEventDecisionDetails activity and dataflow to send the treatment in multiple channels, intermittent access issue related errors appeared while running the activity in logs for multiple customers. This was traced to a missed use case for authentication, and has been resolved.
INC-213217 · Issue 714194
Updated context handling for executing data transforms in dataflows
Resolved in Pega Version 8.6.5
When performing a sort operation in a data transform on a page list and invoking the Data transform through a Data flow, a java.lang.UnsupportedOperationException was generated on the sort step even though the data was correct. Investigation showed that the dataflows were using a different execution context than the context used for regular activity execution. An update has been made to ensure the correct context is being used while executing data transforms in dataflows.
INC-218145 · Issue 715680
DSS introduced to control DSM clipboard page serialization
Resolved in Pega Version 8.6.5
When using a Kafka dataset to consume a message from an external topic that had an attribute name with a special character contained in a page list structure, using a JSON data transform for the mapping in a realtime dataflow resulted in the error "Exception in stage: KafkaDS; LegacyModelAspectInvokableRuleContainer.invoke-Exception encountered a :java.lang.UnsupportedOperationException." To resolve this, a new DSS dataset/CLASS_NAME/DATASET_NAME/JSONDataTransform/deserialization/useDSMPage has been introduced. When the value is set to true, the process will follow the previous behavior of DSM clipboard pages being generated when Kafka records are deserialized using JSON data transform. When the value is set to false, the JSON data transform will generate regular clipboard pages and convert them later to DSM clipboard pages. This would avoid errors when a JSON data transform calls methods from the Clipboard API that are not implemented by DSM pages. This DSS is set per data set instance. CLASS_NAME and DATASET_NAME are placeholders which should be replaced by data set's pyClassName and pyPurpose property values. In addition, a similar DSS, dataset/CLASS_NAME/DATASET_NAME/JSONDataTransform/serialization/useDSMPage, has been introduced for serialization.
INC-144864 · Issue 599146
Unneeded AUC error percentage calculation removed for better system performance
Resolved in Pega Version 8.5.2
When generating snapshots of the ADM models, an inefficiency in the metric calculation for the AUC error percentage caused an excessive amount of memory to be allocated which could cause slowdown or require a system reboot. This has been resolved by removing the problematic AUC error percentage calculation as it is not used in the UI.
INC-215601 · Issue 721524
Explicit Kerberos renewal added for HDFS
Resolved in Pega Version 8.6.5
When using WebSphere/IBM with Hadoop connectivity, the Kerberos credentials were expiring after 7 days and causing connectivity failures. Investigation showed the Apache Hadoop HDFS Client was not renewing the ticket even when there were operation calls every few hours. To resolve this, an enhancement has been added to the Pega HDFS client which will explicitly tell Hadoop authentication layer to check for Kerberos ticket renewal instead of relying on Hadoop built-in logic.
INC-219186 · Issue 720470
Prefix allowed for aggregates Keyspace
Resolved in Pega Version 8.6.5
Attempting to connect multiple Pega environments to an external Cassandra cluster with limited database access using the prconfig setting dnode/keyspaces_prefix resulted in the error "Unable to determine if cassandra table [aggregates.config] exists" while connecting to the aggregates Keyspace. This was traced to an incomplete implementation: the system allowed the keyspace to be created with the prefix, but queries used the keyspace name without the prefix. In order to support this use, an update has been made to ensure keyspace prefixes are used if present.
INC-140160 · Issue 597037
NLP model update reflected on utility nodes
Resolved in Pega Version 8.5.2
After training models on a web node, model updates were not reflected in the email listeners running on the utility nodes. This was traced to the implementation of the model storage using obj-save, which does not propagate the static content on nodes apart from where it was saved. To resolve this, the implementation has been updated to use WBSave which clears static content on all the nodes.