INC-139611 · Issue 587599
Timezone.getDefault function replaced for performance improvement
Resolved in Pega Version 8.5.1
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-131666 · Issue 581066
Oracle date handling issue resolved
Resolved in Pega Version 8.5.1
For the specific date time 1900-01-01 00:00:00.00, the UI showed the date as 31/12/1899 10:55 PM. This has been resolved by inserting a fix from Oracle that addresses an issue with dates in the early 1900s.
INC-135823 · Issue 580925
Transient property passivation handling improved
Resolved in Pega Version 8.5.1
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.
INC-130055 · Issue 578633
Page Validation logging updated
Resolved in Pega Version 8.5.1
In order to enhance troubleshooting, additional logging has been added to capture information for Page Validation failures.
INC-138649 · Issue 585356
Timezone retrieval performance enhancement
Resolved in Pega Version 8.5.1
In order to improve performance and reduce a potential bottleneck for concurrent threads, PRDateTimeUtilsImpl has been updated to use a common GMT timezone object rather than getting the timezone for each operation for each function call.
SR-D97738 · Issue 580162
Class Loader cache values wrapped with WeakReference for improved cleanup
Resolved in Pega Version 8.5.1
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-130793 · Issue 580635
Changed rounding mode notification from error to informational message
Resolved in Pega Version 8.5.1
Pega server recycle was indicating there were errors even though Pega RULES had initiated successfully. This was traced to the default rounding mode message being categorized as system.err which caused it to appear as an error instead of as an informational message. This has been resolved by changing the logging to be system.out .
INC-118760 · Issue 580173
Atmosphere updated to resolve request object recycle exception
Resolved in Pega Version 8.5.1
The exception "java.lang.IllegalStateException: The request object has been recycled and is no longer associated with this facade" was traced to a request object being recycled in Tomcat because of pooling. To resolve this, a fix was made in the Atmosphere open source library to ignore such exceptions. A new jar with version 2.4.5.8 has been uploaded to the repository and defaultVersionsByGradle has been updated with this version.
INC-130176 · Issue 585372
Removing PageList removes all cached pages
Resolved in Pega Version 8.5.1
A previous change was made such that when removing a pageList property, its size is removed from the size-specific cache as well. A further enhancement has been made so that when a PageList is removed, the system will clear the pageCache of all cached pages in the PageList.
INC-134220 · Issue 578711
SelectedBranchIdentifier handling updated for REST Wizard
Resolved in Pega Version 8.5.1
After creating a branch and running the Integration REST connector Wizard to add any REST end point, attempting to add an existing ruleset in the Integration layer worked as expected, but attempting to add the ruleset in the Data layer failed with the error "No Rulesets Available". Investigation traced this to a situation where pzDataPageDataSource was created after the declare expression that assigns the value of pySelectedBranchIdentifier, so its creation was not accounted for and led to pySelectedBranchIdentifier not being populated with the branch name. Without this, the existing rulesets could not be loaded. To resolve this, updates have been made to the handling of the pySelectedBranchIdentifier declare expression to ensure it is available for the REST Wizard to properly load the existing rulesets.