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.
INC-179861 · Issue 658948
AES call to mbean disabled
Resolved in Pega Version 8.4.5
Under certain conditions, the AESRemote 'push memory' agent call to the legacy memory management mbean caused unexpected behavior in declarative rules for work running in data flows and queue processors. This has been resolved at this time by overriding the push memory usage agent activity to skip mbean and connect REST.
INC-180207 · Issue 659097
Corrected race condition that caused JobScheduler error
Resolved in Pega Version 8.4.5
A race condition between the pzInitializeQueueProcessors and pyPersistNodeState job schedulers that both run at platform's start was causing a null pointer exception with the error "com.pega.platform.executor.jobscheduler.scheduler.JobExecutionException: Activity execution failed with [PRRuntimeException]". This has been resolved by moving the QueueProcessor initialization process from JobScheduler to StartupTask.