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.
INC-196842 · Issue 683766
APIs updated for sending large attachments with MSGraph
Resolved in Pega Version 8.7
Sending mail using MSGraph was failing with the exception "Error during http request" when attachments were greater than 3MB. This was traced to changes made by Microsoft in the Graph API implementation which caused it to throw a runtime exception instead of the expected 413 status code and relevant message for the attachment size. To resolve this, an update has been made to ensure that any attachment larger than 3MB is sent via the Microsoft Outlook API.
INC-201338 · Issue 690896
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-174116 · Issue 662039
Added reporting on descendant classes for framework
Resolved in Pega Version 8.6.3
Reporting on descendant classes was not working as expected. In a report definition with "Reporting on descendant classes enabled," the framework class and implementation class each refers to two different tables that use the same names but belong to two different schemas. Investigation showed the generated SQL query was not adding the necessary UNION clause, and the records from the descendant classes were missing when running the report on framework class. This was a missed use case and has been corrected.
INC-181684 · Issue 665483
Privileges adjusted for RetrieveReportData
Resolved in Pega Version 8.6.3
In recent versions of Pega, pxRetrieveReportData was secured with @baseclass AllFlows and OpenDeveloperForm privileges. However, this can interfere with setting up roles after update. To resolve this, the privilege restrictions have been removed from pxRetrieveReportData as it is already protected by ABAC/RBAC.
INC-182193 · Issue 674802
Drilldown report takes original report prompt parameters
Resolved in Pega Version 8.6.3
When a report had prompt filters configured and the summary report definition was executed by giving prompt filters, drilling down to one of the records in the summary report display and then looking at the reports displayed and summarized on a column showed a mismatched count. This was found to be a very specific edge case that involved calling the "Summarize" action from a report column within a drilldown report when using a custom filter section and "prompt for filter changes" on the main report. Filters from the custom filter section were being propagated to the drilldown report when summarizing, but the drilled-down-and-summarized report itself had not been refreshed on the client side to reflect this. To resolve this, the actions have been copied from pyDefaultCustomFilterApplyCancel and applied to the Summarize selection in pzGridMenuNavRule.