SR-D95353 · Issue 557043
Null check and enhanced logging added to Update Existing Application
Resolved in Pega Version 8.4.2
While performing "Update Existing Application" step as part of post upgrade activities, errors were seen about hidden or circumstanced rules relating to "prprivate-exec.jar:?". Investigation indicated that rulesets were being iterated and compared, but it was not clear which ruleset might be causing the issue. The root cause was code that used an integer type in the comparison, leading to a null pointer error when it was null. To resolve this, a check has been added that will assign a value of 0 if the value is null in the comparison, and infoForced logging will be used to tell what caused the null.
INC-139611 · Issue 587600
Timezone.getDefault function replaced for performance improvement
Resolved in Pega Version 8.6
Blocking threads were seen around the GregorianCalendarFactory.clearObject(Object) function, leading to an adverse impact on the performance.TimeZone.getDefault() is a synchronized method call, and under high load this method caused contention when more date-related APIs were invoked. To resolve this, Timezone.getDefault() has been removed and the function has been assigned to a static variable used in the clearObject() API.
INC-175595 · Issue 652831
Java Bean import updated to handling differences in Java 7 and Java 8
Resolved in Pega Version 8.7
The behavior of the java bean Introspector class is inconsistent across different versions of the JDK when detecting indexed properties built off of java.util.List objects, causing Java Bean import to generate differently in Java 7 and Java 8. This has been resolved by updating PRIndexedPropertyDescriptor to better handle this JDK difference by resolving indexed read and write methods manually using simple reflection.
INC-139810 · Issue 592835
New Rule-Utility-Function added to allow customizing filename formatting in repository
Resolved in Pega Version 8.6
When using S3 as file storage, uploading a file with a name such as "sample.tar.gz" resulted in the file name in the repository being formatted as "sample.tar_.gz" instead of the expected "sample_.tar.gz". This was caused by the handling in pzSaveToRepository, which was meant to include the CaseID for the customer use case of same-name attachments on every instance of a case. In order to handle attachments with multiple file extensions such as "<FILE_NAME>.tar.gz", the logic for the fileName formatting has been moved from pzSaveToRepository to the new Rule-Utility-Function pyFormatAttachmentName so that is is possible to override and customize the behavior.
INC-120356 · Issue 560225
Class Loader cache values wrapped with WeakReference for improved cleanup
Resolved in Pega Version 8.4.2
Out Of Memory exceptions due to Metaspace were observed on Web tier instances running with a max Metaspace size of 2GB. Investigation showed that in PRClassLoaderDB, mLoaderCache values were wrapped with a SoftReference. To resolve this, the Class Loader cache values will be wrapped with a WeakReference, allowing the cache to free memory when it is no longer needed. JVM options has also been added to switch types of References being used if there is a preference.
INC-131416 · Issue 575453
Class Loader cache values wrapped with WeakReference for improved cleanup
Resolved in Pega Version 8.4.2
Out Of Memory exceptions due to Metaspace were observed on Web tier instances running with a max Metaspace size of 2GB. Investigation showed that in PRClassLoaderDB, mLoaderCache values were wrapped with a SoftReference. To resolve this, the Class Loader cache values will be wrapped with a WeakReference, allowing the cache to free memory when it is no longer needed. JVM options has also been added to switch types of References being used if there is a preference.
SR-D83424 · Issue 552724
Class Loader cache values wrapped with WeakReference for improved cleanup
Resolved in Pega Version 8.4.2
Out Of Memory exceptions due to Metaspace were observed on Web tier instances running with a max Metaspace size of 2GB. Investigation showed that in PRClassLoaderDB, mLoaderCache values were wrapped with a SoftReference. To resolve this, the Class Loader cache values will be wrapped with a WeakReference, allowing the cache to free memory when it is no longer needed. JVM options has also been added to switch types of References being used if there is a preference.
SR-D91894 · Issue 557222
Class Loader cache values wrapped with WeakReference for improved cleanup
Resolved in Pega Version 8.4.2
Out Of Memory exceptions due to Metaspace were observed on Web tier instances running with a max Metaspace size of 2GB. Investigation showed that in PRClassLoaderDB, mLoaderCache values were wrapped with a SoftReference. To resolve this, the Class Loader cache values will be wrapped with a WeakReference, allowing the cache to free memory when it is no longer needed. JVM options has also been added to switch types of References being used if there is a preference.
SR-D94689 · Issue 555423
Class Loader cache values wrapped with WeakReference for improved cleanup
Resolved in Pega Version 8.4.2
Out Of Memory exceptions due to Metaspace were observed on Web tier instances running with a max Metaspace size of 2GB. Investigation showed that in PRClassLoaderDB, mLoaderCache values were wrapped with a SoftReference. To resolve this, the Class Loader cache values will be wrapped with a WeakReference, allowing the cache to free memory when it is no longer needed. JVM options has also been added to switch types of References being used if there is a preference.
INC-125480 · Issue 562490
Resolved Agile Workbench video recording timeout
Resolved in Pega Version 8.4.2
Using the Record Video option thru Agile Workbench to create an Agile Studio item was either taking an excessively long time to finish or was hanging. Research showed that this scenario could arise when the input parameter value crossed more than 50 characters and triggered the interaction threshold for an alert, and has been resolved by updating the system so that query parameters with size more than 50 are not encoded and added to alert logs.