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.
SR-D37421 · Issue 514593
Cross-site scripting security added to Marketing Offers
Resolved in Pega Version 8.1.8
Cross-site scripting protections have been added to Marketing Offers, which had a potential vulnerability when using Firefox.
SR-D45608 · Issue 519902
Correct service instance name passed for data flow in DSMStatus
Resolved in Pega Version 8.1.8
When using the Connect-HTTP service "DSMStatus" to provide the node and status information as seen on the various tabs of the Designer Studio > Decisioning > Infrastructure > Services landing page, using DataFlow as the service parameter for the HTTP service method resulted in an empty response when the expectation was to get the information regarding the cluster details of Dataflow node type. This was traced to the service instance name not being parsed correctly when used for Data Flow services, and has been resolved by ensuring the correct service instance name is passed for this use.
SR-D47618 · Issue 516300
Statistic rounding error in ADMSnapshot Agent with Oracle corrected
Resolved in Pega Version 8.1.8
While running the ADMSnapshot Agent, the exception "internal.mgmt.Executable) ERROR com.pega.decision.adm.client.ADMException: Failed to complete ADM Data Mart snapshot" was seen. This was traced to an issue with the rounding of performance statistics when using Oracle, and has been resolved.
SR-D54218 · Issue 518599
Deadlock in static Initialization of IntList resolved
Resolved in Pega Version 8.1.8
JVM Deadlock was seen related to the static Initialization of a subclass field in class com.pega.decision.strategy.ssa.runtime.collections.api.IntList . Thread dumps showed threads in RUNNABLE State that were parked to wait for class initialization, and this was traced to a missed sonar alert which failed in multi-threading. To resolve this, the system handling has been updated to prevent potential deadlock.
SR-D60268 · Issue 521460
Performance and thread-handling improvements for SSA
Resolved in Pega Version 8.1.8
The SecureRandom class was used internally by SSAExecutionContext indirectly via UUID generation. Because this exhibited performance issues on some Linux environments, UUID has been replaced with static AtomicLong. In addition, a memory leak was observed when the strategy (SSA) execution resulted in an exception, and the strategy template has been modified to gracefully shutdown the VM under all circumstances. Thread-safety measures have also been tuned to be more fine-grained to reduce the potential thread contention that was seen while borrowing the SSAInterpreter object from SSAInterpreterPool.
SR-D68558 · Issue 536676
Timing updated for Cassandra session change thread lock
Resolved in Pega Version 8.1.8
An issue with unresponsive nodes was traced to the method used for notifications about Cassandra session changes. A thread trying to obtain a Cassandra session acquired a read lock, then if it then determined that a new session had to be created it would also acquire a write lock, preventing other nodes from trying to acquire the session. After creating a session, the thread notified all session change listeners while holding the write lock, causing deadlock with dependent services. To resolve this, the timing has been updated by moving the session change notification to the listeners outside of the section guarded by the lock.