INC-223222 · Issue 723634
Corrected apiContext when using bulkActions
Resolved in Pega Version 8.7.3
Row selections in the multi-selection table were intermittently not working after opening a table with bulk actions enabled. Investigation showed that opening a table with bulkActions enabled and then navigating to a table where bulk actions are not available but multi-select is enabled led to functions like setSelectedRows and getSelectedRows still being available in apiContext. This has been resolved by correcting apiContext when bulkActions is enabled.
INC-221019 · Issue 725147
Modified timestamp query used by ClusterAndDBCleaner
Resolved in Pega Version 8.7.3
The job pyClusterAndDBCleaner was failing with the error "ORA-01861: literal does not match format string". This was traced to the sub-activity pzClearOldQueueProcessorBrokenMessages which was not able to remove broken items with encryption in an upgraded environment due to an incorrect timestamp format passed to the Oracle database. This has been resolved by modifying the query to use a timestamp built using INativeSqlBuilder which will include only the information necessary for the deletion of the item.
INC-224954 · Issue 727043
Enabled turning off general metrics when queue processing metrics are disabled
Resolved in Pega Version 8.7.3
A memory leak related to QPGeneralMetrics was consuming heap and causing performance issues. Investigation showed queue processor metrics were gathered even when disabled. To resolve this, turning off "General Metrics Handler" while turning off the QPGeneralMetrics has been enabled. Queue processors should now skip the process of collecting general metrics while running activities. This will prevent storing unused (and uncleared) metrics in memory and prevent heap exhaustion.
INC-218145 · Issue 715678
DSS introduced to control DSM clipboard page serialization
Resolved in Pega Version 8.7.3
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-220770 · Issue 718028
Null check added to getBaseRef
Resolved in Pega Version 8.7.3
When using a customized Cosmos portal that included tabs, some of the Pega APIs were not available in the child frame and javascript errors were generated when calculating the clipboard path for live UI elements. This was traced to invalid references to "pega.api.ui.util.getBaseRef", and has been resolved by adding null checks to the getBaseRef API call to make sure javascript errors are not thrown.
INC-218172 · Issue 716398
Text analytics character limit set to avoid memory issues
Resolved in Pega Version 8.7.3
Utility nodes were unstable related to searching, and email listener threads became stuck during Rule-based Text Annotation (RUTA) and natural language processing (NLP) work on incoming emails. This happened when the system experienced high memory consumption or exceeded memory usage when using text analytics. This has been resolved by setting the default maximum character limit for NLP analysis to 25,000 characters to avoid RUTA memory issues. If text is provided > 25,000 characters, the system will consider only the top 25,000 characters and a flag will appear on NLPOutcome to indicate text has been limited. This character limit is configurable, but if the configuration is set in excess of 25,000 a warning will be shown prior to saving the change.
INC-223376 · Issue 723575
JMX authentication enabled by default for embedded Kafka and Cassandra
Resolved in Pega Version 8.7.3
For on-premises clients, a potential vulnerability for a Remote Code Execution using the JMX interface on Cassandra and Kafka using exposed network ports has been mitigated by enabling JMX authentication by default for embedded Kafka and Cassandra.
INC-217655 · Issue 723565
Resolved validation check freeze for Dynamic Layout Group
Resolved in Pega Version 8.7.3
After creating a multi-step form where step 1 had a Dynamic Layout Group(tabbed) that used form fields configured with validations, clicking next with empty/invalid values in the form intermittently caused the screen to freeze and a javascript exception was logged. This was traced to a missed use case related to templates in the childNode, and has been resolved by adding the necessary safe checks in lgtemplate and lgcelltemplate.
INC-226830 · Issue 727153
Case Archival hierarchy updated for multiple occurrences of a child case
Resolved in Pega Version 8.7.3
Case Archival did not correctly discover hierarchy when child case appeared multiple times in the hierarchy. This was due to the CaseAssociationsProvider class having a check to skip performing the discovery when the case type had already been processed, and has been resolved by updating the handling for this scenario.
INC-225236 · Issue 725703
Corrected LiveDesignViewDisplay error handling
Resolved in Pega Version 8.7.3
When all rulesets were locked and a section was opened from Live UI in a portal, a "rule deleted" message appeared and it was confirmed the rule was deleted even though the rule was in locked ruleset. Investigation traced this to a pzLiveDesignViewDisplay call to pxChooseBestRuleSet which jumped to failure logic when "allow check out" was disabled, and this has been resolved by correcting the error handling in pzLiveDesignViewDisplay.