SR-D54430 · Issue 518291
Updated VDB Statistics rendering to compensate for Google Chrome changes
Resolved in Pega Version 8.4
The Statistics overlay was not rendering for VBD planner in Google Chrome. Investigation showed that the Google Chrome browser (v.77) was misfiring one of the mouse events due to changes in the browser, and the handling has been updated to resolve this issue.
SR-D54602 · Issue 517309
Prconfigs added to support Cassandra Speculative Based Execution
Resolved in Pega Version 8.4
In order to achieve high availability for Cassandra, prconfigs have been added to support speculative execution. The available prconfigs will enable it, and set maximum number of executions and delay before the next execution is launched.The prconfigs are: dnode/cassandra_speculative_execution_policy dnode/cassandra_speculative_execution_policy/max_executions dnode/cassandra_speculative_execution_policy/delay
SR-D60121 · Issue 525492
All interactions visible in "Latest Responses" for ADM
Resolved in Pega Version 8.4
Interactions were not visible in the "Latest Responses" section of the Model Management landing page for Adaptive models if the requests were stored on multi-node systems. This was due to the system fetching the Last Responses using a list of server nodes built using a version of deployment.getClusterState(tools) which gave only the ADM nodes list instead of all the ADM nodes both client and server. To resolve this, the system has been updated to use ServiceRegistry to get all of the data flow nodes and get the last responses from each of them.
SR-D60268 · Issue 521467
Performance and thread-handling improvements for SSA
Resolved in Pega Version 8.4
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-D69028 · Issue 528974
Deadlock in static Initialization of IntList resolved
Resolved in Pega Version 8.4
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-D41730 · Issue 508144
TTL value correctly passed for Adaptive Event store
Resolved in Pega Version 8.4
The ADM table was growing due to the Time to Live (TTL) for entries in the Adaptive Event Store not being propagated to clean them out. This was traced to the TTL field on the data flow not being checked, causing the TTL value to be supplied as zero so there was no expiration. This has been corrected.
SR-D22505 · Issue 493366
Circumstancing template and definitions assembly modified to avoid calling RD
Resolved in Pega Version 8.4
After deploying a new rollout, errors such as "Only authenticated client may start this activity: RULE-OBJ-ACTIVITY RULE-OBJ-REPORT-DEFINITION" and "You lack access required to execute RULE-OBJ-ACTIVITY RULE-OBJ-REPORT-DEFINITION" appeared. Investigation showed that during an unauthenticated session, executing Report Definitions or accessing database (with securityCheck enabled) are not allowed. When someone wants to use circumstanced rules during the custom authentication process, and if the circumstancing rules are not assembled yet, then assembly of the circumstanced rules triggers the assembly of circumstance template and definitions. During this process the system used Report definition, but since execution of RD is not allowed without authentication the assembly was failing. This has been resolved with two changes: the MergeDefintions activity which is invoked during assembly of CircumstanceTemplate : database.open() has replaced the pxRetrieverReportData activity (which invokes RD to fetch circumstances definitions), and the GetAllDefinitionRows activity which is invoked from MergeDefinitions : database.open has replaced Obj-open in step 3.
SR-D24900 · Issue 503875
Security update for RequestMap error logging
Resolved in Pega Version 8.4
In HttpAPI, the RequestMap contains Cookie information. In error conditions, this map gets logged. An update has been made to ensure that the Cookie value is not logged if there is an error.
SR-D27644 · Issue 497614
Uploaded attachments will receive a unique name to prevent overwriting
Resolved in Pega Version 8.4
An issue with an incorrect file being attached to a work object was traced to overlapping processes. When files are uploaded, they are first saved to common HDD directory and then read into memory and deleted from the HDD area. Files will overwrite other file carrying the same name, which is a problem if the first file is not completely uploaded and is waiting in the common directory and some other file with the same name is uploaded on top of it. To resolve this, an update has been made to ensure file names are appended with a unique identifier to distinguish between files carrying the same names and keep them from overwriting each other.
SR-D28083 · Issue 512937
DeleteOrphanStaticContent CacheConfigID populated on node startup
Resolved in Pega Version 8.4
The pzDeleteOrphanStaticContent activity which triggers to clear cache was unable to clear the files in the static content folder and in the database when the files were more than one week old. In order to correctly cleanup old static content, pzAsmCacheConfigID must be populated in py_sys_statusnodes. However, when SystemNodesDAO was introduced to populate pr_sys_statusnodes, pzAsmCacheConfigID was not populated. To resolve this, pzAsmCacheConfigID is now populated on node startup when node information is added to pr_sys_statusnodes.