INC-196447 · Issue 684645
Enhancements added for external Kafka Stream Service
Resolved in Pega Version 8.6.4
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-200030 · Issue 698956
Handling added for external Kafka authorization exception
Resolved in Pega Version 8.6.4
When using external Kafka for stream service, the dataflow was failing with the error 'QueueProcessorDataSubscriberException' when topic create permission was missing. As a workaround, the topics could be pre-created, though a "Topic already exists" warning was generated. To resolve this, the cluster-wide right that a producer needs, IdempotentWrite, has been added. For more information please refer to the link https://docs.confluent.io/platform/current/kafka/authorization.html
INC-202865 · Issue 709919
Shared partition operations performance improvements
Resolved in Pega Version 8.6.4
A significant performance degradation was seen in queue processor overhead related to maintaining the partition table. This has been resolved by adding an update which will improve partition operations in a shared context.
INC-206288 · Issue 705269
Addressed intermittent Issues with OAuth2
Resolved in Pega Version 8.6.4
Issues with logging in to a node by way of the access token endpoint were related to the error "JSON web token is rejected during signature verification due to bad signature". This has been resolved by adding clock skew value to the JWT processor bean during validation.
INC-206636 · Issue 703942
Log4j file security vulnerability issue addressed
Resolved in Pega Version 8.6.4
A zero-day vulnerability was identified in the Apache Log4j logging software which could potentially allow malicious actors to take control of organizational networks. Pega has immediately and thoroughly addressed this issue. More information can be found at https://docs.pega.com/security-advisory/security-advisory-apache-log4j-zero-day-vulnerability .
INC-207307 · Issue 709714
Corrected OAuth jar version for custom Keystore rule
Resolved in Pega Version 8.6.4
Attempting to create a custom JKS and Keystore rule so it could be pointed to the Pega cipher and use the encrypt and decrypt functionalities failed with an error indicating it was not a valid KMS keystore. This was traced to an issue with a jar version mismatch: upon checking the dependencies for the nimbus-oauth-sdk jar, even though version 6.18.1 was specified the system picked the 8.27 version through transitive dependencies, and the 8.27 version doesn't have the needed CommonContentTypes class. This has been resolved by reducing the version to 6.18.1 in conflicting build.gradle.
INC-209387 · Issue 706152
Log4j file security vulnerability issue addressed
Resolved in Pega Version 8.6.4
A zero-day vulnerability was identified in the Apache Log4j logging software which could potentially allow malicious actors to take control of organizational networks. Pega has immediately and thoroughly addressed this issue. More information can be found at https://docs.pega.com/security-advisory/security-advisory-apache-log4j-zero-day-vulnerability .
INC-210346 · Issue 709710
Check added to ensure Job scheduler executed only once
Resolved in Pega Version 8.6.4
When Node A and Node B woke up at the same time to start executing the job scheduler, both were attempting to update the "now processing" node ID with their ID but only Node A succeeded. This caused Node B to generate a "lock already held" exception, then Node B would try to release the lock and update "now processing" node ID. If Node A released the lock before Node B tried to, then Node B updated the "now processing" nodeID and executed the scheduler, causing it to be run twice. This double-run has been resolved by adding a check for whether the job scheduler has been executed recently before starting it.
INC-211100 · Issue 708300
QueueProcessor timeout made configurable
Resolved in Pega Version 8.6.4
Queue Processor timeouts were causing thread interruptions, causing items to be processed more than once. To resolve this, the QueueProcessor kafka-write timeout has been made configurable via the DASS Pega-Engine:queueprocessor/dataset/write/timeoutMs
INC-211917 · Issue 709322
Scheduled-item operations performed in shared context
Resolved in Pega Version 8.6.4
Scheduled items were not getting processed either by DelayedItemsDataFlowService data flow or by reverting to the pzDelayedQueueProcessorSchedule Job Scheduler, and the number of scheduled items in the pr_sys_delayed_queue table continued to grow even though DelayedItemsDataFlowService showed the processed record count to be increasing. Because the Admin Studio portal was not equipped to show the scheduled record count for the tenant layer in a multi-tenant environment, only the scheduled record count for the shared layer was shown. This has been resolved by updating the system to perform scheduled-item operations in shared context.