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.
INC-132547 · Issue 578397
JSON data transform includes embedded pagelist elements
Resolved in Pega Version 8.5.1
Creating a correct valid JSON stream from a page list containing an embedded pagelist failed to create the JSON elements of the embedded pagelist. This has been resolved by adding conditions to enfore the rest of isTopLevelPageList when appropriate.
SR-D62647 · Issue 541465
Input header value honored for the Content-Type
Resolved in Pega Version 8.5.1
Some third-party applications were rejecting header properties (name & Content-Type) because the information was "Content-Disposition: form-data; name="PostData" and "Content-Type: application/json"" instead of the expected "Content-Disposition: form-data; name="json"" and "Content-Type: text/json". To resolve this, updates have been made to honor the input header value for the Content-Type from the rule form. If no value is supplied, the default "application/json" will be used.
INC-136019 · Issue 584808
EmailListener restart correctly reflects Inbox folder change
Resolved in Pega Version 8.5.1
The Email Listener did not pick up a change in the INBOX folder name when the listener was restarted, but did when the server itself was restarted. This was due to the folder name being cached but not being included in the cache key: a cache change only occurs when the key of the cache changes. This meant that even after changing the folder name, the object was treated as 'not changed' and returned the older connection with older folderName. This has been resolved by adding the foldername to the cache key.
INC-135764 · Issue 579714
Repository APIs optimized to process large number of files
Resolved in Pega Version 8.5.1
When trying to delete 400K+ files in the attachments folder in a Pega Cloud Storage repository, the D_pxDelete API appeared to hang, though files were eventually deleted after an extended amount of time. The same API worked well when the folder had around 200 files in it. Previously, the D_pxDelete and D_pxListFiles APIs implementation did not consider the large scale inputs or outputs. This has been resolved by optimizing the performance of the recursiveDelete operation for S3 repositories.
INC-130153 · Issue 570566
Added handling for accessibility in SocialFilePath
Resolved in Pega Version 8.5.1
After configuring pxFileUploadGadget with the controls 'pzFileNameText' and 'pzSocialFilePath', moving the focus from the first control to the second required two presses of the tab key. This was traced to pzSocialFilePath having an input with type file, which is used in the background but not shown in the UI. To resolve this, tabindex = -1 has been added for the input to facilitate the accessibility.