SR-D32381 · Issue 519466
Transient property passivation handling improved
Resolved in Pega Version 8.4
Frequent "com.pega.pegarules.pub.PRRuntimeException" errors were seen in the production log file while working on the WO. This was traced to corruption in the blob caused by transient properties during passivation. To resolve this, corrections have been made to the handling for the transient property entries in the blob.
SR-D32441 · Issue 502574
Multi-nodes rebuild LibraryMetadata to ensure all Rule-Utility-Functions are present on change
Resolved in Pega Version 8.4
When performing a complete Application import into a clean installation, references to certain Rule-Utility-Functions went unresolved during the initial assembly. Investigation showed that after introducing a new Rule-Utility-Library or Rule-Utility-Function on one node in a cluster and then generating that, the other nodes in the cluster did not have the correct LibraryMetaDataCache for that Rule-Utility-Library.Therefore assemblies on those other nodes could be bad and throw a runtime UnresolvedAssemblyError. This has been resolved by modifying the way the Library subsystem processes the node changes events for Library Generation to ensure that each node completely rebuilds the LibraryMetadata for that Rule-Utility-Library so it contains all the Rule-Utility-Functions.
SR-D32890 · Issue 507595
Report on descendant class instances no longer defaults to using dynamic union
Resolved in Pega Version 8.4
When the instance view of System-Status-Nodes was launched, an error was observed in the log stating that properties weren't optimized in a different class (Pega-Landing-System-HighAvailability). This was traced to the option "Report on descendant class instances" being enabled by default to use dynamic union where applicable, causing that to be applied upon execution of the report definition to fetch the instances. This has been resolved by unchecking the ReportDefinition "Report on descendant class instances" option.
SR-D36293 · Issue 509305
Node level data page now specifies tenant name in MT environments
Resolved in Pega Version 8.4
In order to address a requestor contention between different tenants during the load of node level data page in multi-tenant environments, an enhancement has been added that will specify the tenant name in the data page name. This will improve performance by allowing different tenants to have different locks, ensuring the process of data page loading on one tenant will not make another tenant wait for the loading of the same data page. Additional debug and trace logging has also been added to provide more information related to declarative rule cache management.
SR-D36293 · Issue 509282
Node level data page now specifies tenant name in MT environments
Resolved in Pega Version 8.4
In order to address a requestor contention between different tenants during the load of node level data page in multi-tenant environments, an enhancement has been added that will specify the tenant name in the data page name. This will improve performance by allowing different tenants to have different locks, ensuring the process of data page loading on one tenant will not make another tenant wait for the loading of the same data page. Additional debug and trace logging has also been added to provide more information related to declarative rule cache management.
SR-D37605 · Issue 506895
Pagelist merge issue corrected for mobile app
Resolved in Pega Version 8.4
When using the mobile application, logging out of the application in the middle of a case by way of the "Options" menu caused "OnPathOffPathlist" to not be populated on the server in pyWorkPage. The data was populated correctly if the case was completed or the exit was performed from the application. Investigation showed that in this case, the page list was not getting merged into the page during the sync of the mobile app with the server due to the mode of the target property being set to unknown. This was traced to the target property mode being overridden by a blank source property mode that was being held in a featureless redux page for performance reasons, and has been corrected.
SR-D39003 · Issue 505998
Threads will be updated to maintain assembly context when using Static Assembler
Resolved in Pega Version 8.4
When running the Static Assembler utility from UI, the assembler process completed successfully but the PegaRULES.log was flooded with the FATAL exception "Usage error - next Executable not based on current". This error was generated from com.pega.pegarules.session.internal.mgmt.Executable constructor, and indicated an issue with the thread context being different from the assembly context. To resolve this, the system has been modified to update the context of thread to what is expected as assembly context.
SR-D42241 · Issue 518640
CyberArk support has been added for this release
Resolved in Pega Version 8.4
CyberArk support has been added for this release.
SR-D43131 · Issue 511062
Page section page map entries initalized for private checkout
Resolved in Pega Version 8.4
Attempting to check out any rule in the development environment resulted in a null pointer error. Investigation showed this was due to the Page Section page map entries not being initialized, causing an exception in the activity pzperformprivatecheckout where obj-save is performed. This has been corrected.
SR-D43347 · Issue 509038
Multi-nodes rebuild LibraryMetadata to ensure all Rule-Utility-Functions are present on change
Resolved in Pega Version 8.4
When performing a complete Application import into a clean installation, references to certain Rule-Utility-Functions went unresolved during the initial assembly. Investigation showed that after introducing a new Rule-Utility-Library or Rule-Utility-Function on one node in a cluster and then generating that, the other nodes in the cluster did not have the correct LibraryMetaDataCache for that Rule-Utility-Library.Therefore assemblies on those other nodes could be bad and throw a runtime UnresolvedAssemblyError. This has been resolved by modifying the way the Library subsystem processes the node changes events for Library Generation to ensure that each node completely rebuilds the LibraryMetadata for that Rule-Utility-Library so it contains all the Rule-Utility-Functions.