INC-163579 · Issue 649383
Assistance and diagnostics added for issue with opening imported 'when'
Resolved in Pega Version 8.5.4
After upgrade, attempting to open rules that were developed on lower environments and then imported resulted in unknown errors. A workaround has been added to skip and log any corrupted property that might be interfering with the rule opening: enable Skip-Corrupt-Property to put this in place. To improve diagnostics, the new logger NBA-WME-DEBUG has been added. If the error continues after using Skip-Corrupt-Property, Skip-Corrupt-Property should be disabled and NBA-WME-DEBUG should be enabled and kept active until the issue occurs again.
INC-166398 · Issue 647704
Assistance and diagnostics added for issue with opening imported 'when'
Resolved in Pega Version 8.5.4
After upgrade, attempting to open rules that were developed on lower environments and then imported resulted in unknown errors. A workaround has been added to skip and log any corrupted property that might be interfering with the rule opening: enable Skip-Corrupt-Property to put this in place. To improve diagnostics, the new logger NBA-WME-DEBUG has been added. If the error continues after using Skip-Corrupt-Property, Skip-Corrupt-Property should be disabled and NBA-WME-DEBUG should be enabled and kept active until the issue occurs again.
INC-159143 · Issue 628923
Methods updated to prevent rounding of JSON response decimals
Resolved in Pega Version 8.5.4
When using a REST connector for an outside service, precision numbers in the JSON response were being rounded or truncated when parsed for the DataSource page. For example, a JSON message with a value like 6045.900000000000000001 became rounded to 6045.9. This happened in both methods used for fast and non-fast processing, and has been resolved by treating the decimal value as a string and then creating a BigDecimal object out of it to avoid truncation in the fast processing scenario, and by adding mapper.enable(DeserializationFeature.USE_BIG_DECIMAL_FOR_FLOATS); for the non-fast processing scenario.
INC-164308 · Issue 634410
UseNoCacheHeaders default expiration set to "0"
Resolved in Pega Version 8.5.4
When the prconfig/HTTP/UseNoCacheHeaders/default was set true it used the value "Expires: Thu, 01 Dec 1994 16:00:00 GMT". This has been updated to the more commonly used setting "0".
INC-145802 · Issue 636324
Oracle temporary space explicitly freed after writing LOBs
Resolved in Pega Version 8.5.4
Oracle temporary space used to write the LOB was not freed up after writing records to Log-Service-File when using OJDBC8 or OJDBC10 versions and the table involved had inline BLOB storage such as small blob tables like Log-service-file (2-4kB blobs). This did not occur when using OJDBC7, but investigation with Oracle could not determine why the older version did not have this issue. This issue has been resolved by explicitly freeing the LOB space with a call to free() / freeTemporary() , a utility for LOB objects that was introduced in JDBC 4.
INC-163863 · Issue 632426
Monthly agents run correctly on non-English locales
Resolved in Pega Version 8.5.4
Nodes with non-English locales were not starting when using an Agent with a monthly execution pattern. This was due to incorrect handling of the user locale, and has been resolved.
INC-156758 · Issue 629937
ExpandStream called before Page-Merge-Into to ensure correct merge
Resolved in Pega Version 8.5.4
The Page-Merge-Into method was not merging the source page into the target page when the use case was run without tracer, but merged properly when run with tracer. This was traced to an intermittent issue with expanding properties, and has been resolved by calling expandStream on the source property if it is unknown prior to checking if the source and target properties are merge compatible.
INC-163985 · Issue 635146
Class mapped to CustomerData is incrementally indexed as expected
Resolved in Pega Version 8.5.4
When using a class which mapped to customerdata, instances that were added/updated were not automatically getting indexed unless a full reindex was performed. If the class mapping was changed from customerdata to pegadata then the incremental indexing was done. To resolve this, the UpdateProcessor class that resolves CustomerData to the correct database name has been updated to use PegaData. ConfigurationMapImpl contains the resolution mapping and a call is made to ConfigurationMapImpl to retrieve the correct database name.
INC-172546 · Issue 652877
Resolved classcast exception with assembled HTML controls
Resolved in Pega Version 8.5.4
A classcast exception was being generated on login. Investigation showed the Static Assembler was unexpectedly using a different Assembler to assemble the Html control rule. Standard behavior is that StreamBuilderAssembler assembles controls of type StreamBuilder and ControlAssemblerForVTable assembles controls of type ControlBuilder. In this case, static assembly for HTML controls using VTable was performed using StreamBuilderAssembler, causing a classcast exception when using VTable because the instance of the generated.html class was incorrectly inheriting from StreamBuilder (the parent class of ControlBuilder) instead of ControlBuilder which is the specified interface in the generated.html Java code. This has been resolved by updating the system to skip rules of type 'Rule-HTML-Property'(control) during Static Assembly.
SR-D83424 · Issue 552723
Class Loader cache values wrapped with WeakReference for improved cleanup
Resolved in Pega Version 8.1.9
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.