INC-170551 · Issue 656561
Rule Assembly update for pxTextInput and pxDisplayText
Resolved in Pega Version 8.4.5
After the application restart, multiple rule assembly alerts were seen for pxTextInput and pxDisplayText . During first access, Assembly is done and container is cached in VTable; investigation showed that in this case, the Load class without the package name had a class not found issue, and then subsequent access tried to use the container from cache and assembly was not done. To prevent this, an update has been made to perform the class lookup using the package name and class name.
INC-170669 · Issue 651811
Handling added for RuleNotFound exception
Resolved in Pega Version 8.4.5
If a declare rule was run on a redux page and the highest ruleset version was withdrawn, a RuleNotFound exception was thrown and step status was set with the message "Failed to find a 'RULE-DECLARE-EXPRESSIONS' ...". This has been resolved by updating the system to avoid throwing a RuleNotFound exception if the candidate list is empty for the declare expression.
INC-170883 · Issue 649997
Race condition resolved for input/output pipe streams
Resolved in Pega Version 8.4.5
Writing to S3 using file data set was failing with the error "Exception occurred while uploading file". The system was relying on PipedInputStream for getting the data from the file while uploading, which needs to be connected to PipedOutputStream which holds the data to be uploaded. Investigation showed a race condition was occurring where for some use cases the reading of inputStream was happening before the connection of I/P and O/P streams, resulting in a "Pipe not connected" error. This has been resolved.
INC-170950 · Issue 652330
Handling added for datetime set by relative reference
Resolved in Pega Version 8.4.5
When initializing a datetime property contained within .pxPages() in a data transform rule, if the property being set applied to @baseclass it was initialized as decimal string while all other properties were handled as normal GMT-based Pega date time strings. Investigation showed that the decimal value was set when the target page was given by a relative reference like .pxPages(TEXT) which was also defined on Pages & Classes. This has been resolved with an update to detect relative reference as page name in Pages & Classes tab and fall back to the old assembler.
INC-171230 · Issue 650333
MSGraph email listener enhancements
Resolved in Pega Version 8.4.5
Attachments with .eml /.msg extensions were treated as FileAttachments by the MS Graph API and generating a classcastexception. To resolve this, a check has been added to identify the attachment along with content type so .eml will be correctly recognized. In addition, the MSGraph email listener functionality related to converting from Graph to MIME message has been enhanced around the 'TO' and 'CC' recipients in a MIME message and for parsing nested attachments in Item attachment for addition to MsgraphMessage.
INC-172546 · Issue 652878
Resolved classcast exception with assembled HTML controls
Resolved in Pega Version 8.4.5
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.
INC-172675 · Issue 649454
Configuration added for extending queue processor timeout
Resolved in Pega Version 8.4.5
Alerts for queue processor (QP) items which took more than 15 minutes to run could result in the system marking the node as 'unhealthy'. In environments with Pega Health Check enabled, this would shut down the node gracefully. It was not possible to change this default as it was hardcoded. In order to support systems that may have custom processes that run beyond 15 minutes, a a new setting has been exposed that allows configuration of the interval after which a node with long-running queue processor is marked as unhealthy and is restarted. By default this remains 900000 milliseconds / 900 seconds / 15 minutes, but it may be adjusted up to 24 hours to avoid premature node shutdown. The stale thread detection mechanism will take that setting into account and use the provided value or default to 15 minutes if the value was not provided. In addition, the threshold's units in the UI have been changed from ms to seconds.
INC-172692 · Issue 650614
InsID will be derived from handle if null for upgrade
Resolved in Pega Version 8.4.5
Upgrade from Pega 7.2.x to Pega 8.4.x failed with a null pointer exception in the “Upgrade Context” target. This was traced to a rule where the pxInsID was null. To resolve this, an update has been made to derive the InsID from handle when needed.
INC-174296 · Issue 650755
Delayed JS/DF initialization failures will trigger alert
Resolved in Pega Version 8.4.5
In order to ensure better cluster monitoring, a PEGA0102 alert has been added for job registration failure that will be triggered if there are startup issues. The logging will include the JOB_NAME for improved troubleshooting.
INC-175205 · Issue 652529
Agent restart made more resilient
Resolved in Pega Version 8.4.5
During a timeout outage, agents intermittently encountered a NoClassDefFound error and were disabled. After the database connection was restored, the agents were not automatically restarting. This has been resolved by making the code more resilient to errors; agent will be restarted when a temporary issue is detected, and the restart will be immune to most exceptions.