SR-D51554 · Issue 514063
Local UUID cache will be updated when merge event is detected
Resolved in Pega Version 8.4
Cluster-related issues were seen in multiple production clusters. For some nodes in the cluster the Cluster Management screen showed all expected nodes with valid Node IDs displayed, and on other nodes the Cluster Management screen showed the node ID of itself, SERVER@localhost:5701. On an impacted node displaying the wrong ID, the Node Information landing page did not work and displayed the error "Unable to execute job on ." Multiple advanced agents running on nodes in the affected clusters, both with correct and incorrect IDs, also failed with a similar error "Unable to execute job on <node's job id>". This was traced to a merge performed after a split brain. To resolve this, the code has been updated to handle merge events: when the node UUID is changed as part of a split brain recovery, the local UUID cache will be updated when the merge event is detected.
SR-D52336 · Issue 518388
Local UUID cache will be updated when merge event is detected
Resolved in Pega Version 8.4
Cluster-related issues were seen in multiple production clusters. For some nodes in the cluster the Cluster Management screen showed all expected nodes with valid Node IDs displayed, and on other nodes the Cluster Management screen showed the node ID of itself, SERVER@localhost:5701. On an impacted node displaying the wrong ID, the Node Information landing page did not work and displayed the error "Unable to execute job on ." Multiple advanced agents running on nodes in the affected clusters, both with correct and incorrect IDs, also failed with a similar error "Unable to execute job on <node's job id>". This was traced to a merge performed after a split brain. To resolve this, the code has been updated to handle merge events: when the node UUID is changed as part of a split brain recovery, the local UUID cache will be updated when the merge event is detected.
SR-D52785 · Issue 518410
XSS protection added to layout runtime java and whitelist validation available for host/XFHost
Resolved in Pega Version 8.4
In order to protect against XSS issues, filtering has been added to the RepeatDynamicIndex parameter value in layout runtime java. In addition, a validation for X-Forward-Host value has been added which will be read from a local configuration. This is in the form of a white list regex filter for the host/XFHost header to ensure the URL's actions cannot be redirected.
SR-D54319 · Issue 532529
API added to sync presence with requestor to clear inactive operator sessions
Resolved in Pega Version 8.4
An intermittent error message was seen indicating the maximum number of active sessions for the current operator had been reached even though there were not multiple logins and there was no requestor displayed in the requestor management landing page. This was traced to sessions that were not properly closed and cleared, and has been resolved by exposing an API that will sync the presence record with the requestor state so inactive sessions will be cleared.
SR-D54628 · Issue 524568
jFreeChart upgraded
Resolved in Pega Version 8.4
Chart generation activities have been updated to use JFreeChart v1.0.19.
SR-D55160 · Issue 520357
Namibia and Botswana added to Currency Symbol values
Resolved in Pega Version 8.4
Support has been added for the Namibia (en_NA) and Botswana (en_BW) locales in the default Currency Symbol values.
SR-D55449 · Issue 523503
XSS protection added to layout runtime java and whitelist validation available for host/XFHost
Resolved in Pega Version 8.4
In order to protect against XSS issues, filtering has been added to the RepeatDynamicIndex parameter value in layout runtime java. In addition, a validation for X-Forward-Host value has been added which will be read from a local configuration. This is in the form of a white list regex filter for the host/XFHost header to ensure the URL's actions cannot be redirected.
SR-D56063 · Issue 528248
Hazelcast upgraded to resolve node startup issue
Resolved in Pega Version 8.4
Post data upgrade, the ADM tier failed to start and the error "java.lang.IllegalStateException: Node failed to start!" appeared. This was traced to a dormant bug in Hazelcast 3.11 that caused starting nodes to fail when the Hazelcast master node was shutting down, which was exposed by recent Pega changes made to enable parallel restarts of nodes in Cloud environments. Hazelcast delivered a fix for the parallel restart problem and the hotfixed jar has been merged into the platform. In addition, previous logic for loading Admin Studio waited 30 seconds before timing out when fetching information for each node. This caused issues with large clusters and Admin Studio not loading. The logic has been updated in the Admin Studio UI to load the page despite delays/issues waiting for nodes to respond to the gathering of cluster data, and the algorithm to detect remote-call timeout has been updated and is applicable to batch operation.
SR-D64090 · Issue 525866
Local UUID cache will be updated when merge event is detected
Resolved in Pega Version 8.4
Cluster-related issues were seen in multiple production clusters. For some nodes in the cluster the Cluster Management screen showed all expected nodes with valid Node IDs displayed, and on other nodes the Cluster Management screen showed the node ID of itself, SERVER@localhost:5701. On an impacted node displaying the wrong ID, the Node Information landing page did not work and displayed the error "Unable to execute job on ." Multiple advanced agents running on nodes in the affected clusters, both with correct and incorrect IDs, also failed with a similar error "Unable to execute job on <node's job id>". This was traced to a merge performed after a split brain. To resolve this, the code has been updated to handle merge events: when the node UUID is changed as part of a split brain recovery, the local UUID cache will be updated when the merge event is detected.
SR-D15503 · Issue 486749
Added compatibility for UDFs
Resolved in Pega Version 8.4
Using UDFs against the pr_data_admin table was causing an exception when scrolling through the results. Investigation showed that UDFs were not able to read some instances in the database because the blobs were stored in an uncompressed format. This was due to instances generated during installs and upgrades being saved without compression, which was not a problem for the engine but caused errors when using optional added UDFs. In order to improve compatibility, the system has been updated so that system-generated instances during installs and upgrades, which are saved without the full engine, will use Compress.deflate to compress bytes before saving to the database.