SR-D38450 · Issue 505656
Added workaround to handle HiddenPropertiesToIgnore when a page is in Read Only mode
Resolved in Pega Version 8.2.4
A 'WrongModeException' was generated while trying to use the Data Transform pxHiddenPropertiesToIgnore to remove system properties from page. When the Datapage was set to Editable/Savable mode, the Activity ran without an error and executed the Data transform. When the Datapage was in Read only mode, the error occurred. This was traced to a process that previously was allowed to set a page to an empty string, but which was removed during recent work. To resolve this, four instances of pxHiddenPropertiesToIgnore that included Single Page Value properties have been updated by moving them to the bottom of the Data Page and changing them to an "Update Page" from a "Set".
SR-D33934 · Issue 503333
Parent case lock properly released when child case is resolved
Resolved in Pega Version 8.2.4
After creating Parent-Child casetypes with default locking where the child case had the “Allow access to parent” check box checked, the temporary lock acquired on the parent during resolution of the child case was not released afterwards. If “Allow access to parent” was not checked, then the locks were released on both the parent and the child. This was traced to a combination of parameters used by the openIfStale() API where aUnlockOnCommit could be set to false despite the provided locking strategy expecting it to be true, as well as honoring UnlockOnCommit when maintainLockingStrategy is false. To resolve this, the system has been updated to always check whether the lock is available in the map already and if it is, then set unlockonCommit to true. Otherwise, under all cases, honor the passed-in unlockOnCommit value.
SR-D38588 · Issue 506368
Removed unneeded table name calculation
Resolved in Pega Version 8.2.4
After giving short names (less than 30 characters) for "To Table", saving did not produce an error, but an error was thrown during Check In. Investigation showed that while checking in the extract rule, a block of code in the Rule-Utility-Function validateTreeProperties was being executed to recompute the pagelist's table name instead of using the name provided by the user. To resolve this, the Rule-Utility-Function has been modified to not execute this block of code during check-in of the extract rule. The validation will be seen during save if the 'To field' has more than 30 characters.
SR-D25163 · Issue 504611
Improved query efficiency for bulk processing
Resolved in Pega Version 8.2.4
Spikes were observed in Library Cache usage. These were traced to queries that originated from Agent 'AgentBulkProcessing' and the activity 'PzAgentBulProcessing' that used "like" and "as", which were not performance efficient in a large-scale installation. The queries in the CheckBulkProcessQueue activity have now been updated to improve performance.
SR-D36293 · Issue 509304
Node level data page now specifies tenant name in MT environments
Resolved in Pega Version 8.2.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-D39003 · Issue 505997
Threads will be updated to maintain assembly context when using Static Assembler
Resolved in Pega Version 8.2.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-D27527 · Issue 504283
Corrected schema import permissions
Resolved in Pega Version 8.2.4
When a product rule contained schema changes to add columns for properties that already existed, such as properties that were exposed since the previous ruleset, it incorrectly indicated that there were no changes to be applied. This was traced to the operator lacking the SchemaImport permission, and has been corrected.
SR-D28719 · Issue 505967
Null archive check added to set import process status
Resolved in Pega Version 8.2.4
After running a 'prpcServiceUtils.sh import' which failed due to a low-level null pointer error, the job "IMPORTREQUEST-2" then incorrectly showed the status as 'IN PROGRESS' instead of 'FAILED'. In this case, the null pointer exception occurred because two imports were unintentionally happening at the same time: the process copied up the same set of archives to the service export directory, but the first import processed an archive and deleted it so that the second process failed to find it. When it exited with the null pointer exception, the status was not set to 'failed'. To resolve this, a null archive check has been added which will set the status to 'failed' if the archive is unsupported, corrupt, or not there at all.
SR-D20439 · Issue 496404
Hotfix hashmap cleanup improved
Resolved in Pega Version 8.2.4
A DL installation failed with an out-of-memory error. It was observed that many CacheEntry(VersionedJdbcJarRwader.java) hashmaps were being created to store the details for each hotfix but that were then never cleared. This has been resolved by adding the finally block in CodeImportProcessImpl.java class to call the shutdown method for proper cleanup. In addition, the default command line utility (prpcUtils) has been updated to use JVM settings of Xmx 4GB and capture a heap dump if an out-of-memory error is encountered. The auto-generated prconfig.xml has also been updated to leverage its minimal startup setting which will avoid loading the conclusion cache into memory.
SR-D39491 · Issue 506025
Logic trimmed for better Listener performance
Resolved in Pega Version 8.2.4
After multiple email listeners with Data indexing were enabled, the FTSIndexer queue was filling with Email Listener instances. Investigation showed that although Listener Management has logic for updating the last access time of all listeners by using APIs, the Email Listener was explicitly opening the email listener rule to update the last access time every time it was run. This has been corrected.