INC-188065 · Issue 671403
Catch added for corrupted alert configuration
Resolved in Pega Version 8.7
On creation of a queue processor rule, the alert ID was not present in the logs due to a missing alert configuration page. After this action, the server was not accessible and could not be started. This has been resolved by catching the exception if the alert configuration is malformed or missing.
INC-189781 · Issue 677816
Database Transaction Log update overflow resolved
Resolved in Pega Version 8.7
When automatic.resume=false was encountered during an update, cleaning up the existing codeset from previous updates ended up filling up the database transaction logs and caused the update to fail. This has been resolved by updating the process of clearing the codeset so it doesn't overflow the transaction log.
INC-190070 · Issue 676643
Restored local blocking queue cache
Resolved in Pega Version 8.7
After update, it was not possible to bring up secondary VBD nodes after restarting. Investigation traced this to earlier work done to resolve a memory leak issue, in which stale entries for local blocking queues were removed from cache. This resulted in modifying the queue listener logic to use "cache.getQueueIfPresent(jobId)" instead of "cache.getQueue(jobId)". Because the listener was not creating the cache if it was not present and the cache which held the local blocking queue didn't have the entry for the current remote execution job ID, the caller of the remote execution on Node2 ended up in blocking state forever, waiting on the local blocking queue. To resolve this, the code has been updated to ensure the blocking queue is created and stored in the local queue cache before publishing the remote job message.
INC-192078 · Issue 680064
DSS partition count setting made backward compatible
Resolved in Pega Version 8.7
After upgrade, the DSS 'dsm/services/stream/pyTopicPartitionsCount' used to limit the number of partitions was no longer working and instead used the default value of 20. This has been corrected and made backwards compatible.
INC-192200 · Issue 678016
Ready to process records count correctly displayed
Resolved in Pega Version 8.7
After update, the QP's ready to process records count was always shown as zero in the Admin studio QP landing page. This was traced to a missing sListMaxResultCount property in the SQL query for qp-partition retrieval; this has been added, and the default value has been changed from 0 to -1 for proper interpretation of results.
INC-192979 · Issue 679041
Cache support added for Runtime Context
Resolved in Pega Version 8.7
System performance has been improved by adding cache support for System-Runtime-Context management.
INC-192979 · Issue 678269
Updated RequestorInitialize to improve performance
Resolved in Pega Version 8.7
After updating, initial user logins were taking an excessive amount of time. This was traced to the standard rule "RequestorInitialize", and has been resolved by updating the implementation.
INC-193153 · Issue 686293
Restored local blocking queue cache
Resolved in Pega Version 8.7
After update, it was not possible to bring up secondary VBD nodes after restarting. Investigation traced this to earlier work done to resolve a memory leak issue, in which stale entries for local blocking queues were removed from cache. This resulted in modifying the queue listener logic to use "cache.getQueueIfPresent(jobId)" instead of "cache.getQueue(jobId)". Because the listener was not creating the cache if it was not present and the cache which held the local blocking queue didn't have the entry for the current remote execution job ID, the caller of the remote execution on Node2 ended up in blocking state forever, waiting on the local blocking queue. To resolve this, the code has been updated to ensure the blocking queue is created and stored in the local queue cache before publishing the remote job message.
INC-196415 · Issue 686313
Performance improvements for revalidate and save
Resolved in Pega Version 8.7
In order to improve performance when working with very large numbers of class definitions, an update has been made to optimize the revalidate and save process by avoiding looking up all classes on the system instead using ClassDefinition for existence and checking ancestor data to ensure class is a Rule- or Data- descendant.
INC-196447 · Issue 684644
Enhancements added for external Kafka Stream Service
Resolved in Pega Version 8.7
To ensure data privacy when using multi-tenant Stream Service hosted on a single Kafka cluster, access will be authorized based on ACLs when a tenant sends direct requests to Kafka. In addition, all Kafka resources (topics and consumer groups) are now able to contain a prefix naming convention which can be used for tenants. This is handled through using a <env name="services/stream/name/pattern" value="{tenant.name}-{environment}-{stream.name}"/> prconfig setting to set the stream name pattern. For example, if the tenant.name is resolved into "companyname", environment into "prod1", and the stream dataset name is pyFTSIncrementalIndexer, then the Topic name created on the external Kafka will be companyname-prod1-pyFTSIncrementalIndexer.