INC-142084 · Issue 599876
Support added for expression in strategy scorecards
Resolved in Pega Version 8.2.8
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-143927 · Issue 599491
Oracle database performance improvements
Resolved in Pega Version 8.2.8
When the IH Summary was enabled and materialized on an ADM model, updating the ADM model was very slow on large sites. This has been resolved by adding several performance improvements for working with Oracle databases, including Oracle pre/post processing steps.
SR-D93777 · Issue 565692
Handling added for Oracle Aggregate IH Summaries
Resolved in Pega Version 8.2.8
When using using (Non Materialized) IH Summaries to aggregate IH data, the data returned by the IH summary did not include all the expected records. If the same criteria was executed on the database via SQL or by using a strategy to process raw IH data then the results were as expected. This was due to a difference in handling of Oracle vs postgres which causes an order by clause not to be generated in the query: the postgres column name is lower case, while in Oracle it is upper case. This has been resolved by updating the system to get the column name correctly from the propertytocolumn map so IH records are returned in correct order by Browse By Keys operation.
SR-D95605 · Issue 565486
Data Flow correctly saved to Database table Dataset
Resolved in Pega Version 8.2.8
After setting up a dataflow with Report definition as a source and Database table dataset as destination with the option "Insert new records and override existing", a data transform was used to modify a few of the values and write to the same database table. This table was mapped to pegadata schema and didn't have a pzpvstream column. Running the data transform generated an exception stating "DataStoreSaveStatementWithoutStream(PageDatabaseMapperImpl). The error was not seen when the pzpvstream column was added or if pzInskey was also removed along with pzpvstream, or if "only insert new records" was selected. This was traced to pzInsKey and pxInsName being null in the query formed while writing. There are two execution paths for the database dataset save operation, one for internal tables and another one for external tables. For a table with pzInskey but no blob, the system was incorrectly using the external table logic. This has been corrected.
INC-128342 · Issue 594185
Improved cleanup for adm_response_meta_info
Resolved in Pega Version 8.6
The adm_commitlog.adm_response_meta_info column family was growing, leading to gradual increase in CPU utilization on the Adaptive Decision Management (ADM) nodes over time. Investigation showed that the compaction on the adm_response_meta_info table was not being triggered by the ADM service, and the compaction did not remove rows that belonged to models that had been deleted. To resolve this, compaction of the adm_response_meta_info table has been moved from the ADM client nodes to the ADM service nodes, which will correctly trigger the compaction on a predefined schedule. The compaction logic has also been refactored to remove rows that belong to models that have been deleted.
INC-136634 · Issue 591679
Thread contention resolved for InteractionHistoryQuery
Resolved in Pega Version 8.6
High thread contention was observed while running Inbound load tests. This was traced to pzLoadInteractionHistory invoking a generated strategy to retrieve ihFields from InteractionHistoryQuery using the getUsedInteractionHistoryFields() method: because this method is synchronized, it caused a bottleneck. To resolve this, the synchronized methods have been replaced with the appropriate data structures.
INC-136969 · Issue 585547
Section and Paragraph rule types added to Revision Manager
Resolved in Pega Version 8.6
An enhancement has been made to add support for section and paragraph rule types in revision management. With this change, the sections and paragraph rule types can be added to overlay and can be added to change requests and modified.
INC-138037 · Issue 586595
Strategy handling updated for very large systems using IH summary
Resolved in Pega Version 8.6
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-138103 · Issue 585640
Enhancement added for node heartbeat recovery process
Resolved in Pega Version 8.6
Nodes were not showing up in the admin portal even though they were up and running and could be seen in the pr_sys_statusnodes table. The exception "An exception was encountered while invoking the cluster membership listener callback" was seen. All nodes became visible again after multiple restarts. The root cause was traced back to a temporary database connectivity problem. The database itself was fine according to database monitoring reports, but a network problem, a slow database query, or another issue prevented Pega from establishing a connection for more than a minute. An enhancement has been made to resolve this: if a node becomes unhealthy due to the service registry missing due to a failed heartbeat, the heartbeat will try to recover after 60 seconds and keep trying every 30 seconds until it succeeds.
INC-138501 · Issue 592288
Added VBD support for CSRF token setting
Resolved in Pega Version 8.6
Attempting to open any VBD reports in the marketing portal for a simulation test caused the user to be logged out. Investigation showed that this happened when CSRF token check was enabled in System > Settings > Cross-Site Request Forgery, and was caused by the planner not passing the CSRF tokens in its Ajax calls. To resolve this, handling for the CSRF tokens has been added to the necessary Ajax calls.