SR-D92707 · Issue 551694
QP exception handling improved
Resolved in Pega Version 8.2.7
There is currently a configurable maximum size limit for QP items of 5MB. If the message size exceeded 5 MB, the message failed to be enqueued to Kafka, but still ended up in the delayed message table where it remained. This caused issues with pzDelayedQueueProcessorSchedule JS as a result. To resolve this, the system has been updated to better detect Kafka errors related with message size and move any corrupted item to the broken message queue with the appropriate message attached.
SR-D94019 · Issue 553783
Alerting features added for Listeners
Resolved in Pega Version 8.2.7
An enhancement has been added for Email Listener alerts. At the end of each listener's processing cycle, the system will determine the average processing time per message, the total processing time of the listener, the total unread messages count, and total number of messages processed. In each AESRemote agent run, this data will be published to the PDC, where it will be analyzed and any necessary alerts raised.
INC-156674 · Issue 660956
Handling added for reactivating combined Passivation and AccessGroup timeout
Resolved in Pega Version 8.4.6
Refreshing a passivated browser window in Dev Studio for an operator with a combined access group and passivation timeout was resulting in a blank screen after re-authenticating. InvalidParameterException and InvalidReferenceException messages were logged. Research showed this was caused by a missing pxPortal property on the pxThread page along with missing Application and Accessgroup pages. While refreshing the browser along with the top URL, there will be few requests with tab threads calling activities such as deletedocumentpg and SetProcessWindowName because there was an unload. Because these requests reached the server before re-authentication, the threads proceeded to the activation flow, causing properties such as pxPortal, Application, and Accessgroup pages to be removed from the thread page and requestor page according to the condition that the requestor was not yet authenticated. To resolve this, the logic in session.internal.authorization.context.BasicApplicationContextImmutableImpl#applyApplicationProperties has been updated to skip removing application page properties from the thread page in this combined Passivation and AccessGroup timeout scenario.
INC-165722 · Issue 636327
Stack trace logging enhanced for engine startup issues
Resolved in Pega Version 8.4.6
Enhanced stack trace logging has been added to capture additional information when the application is unable to start and no PegaRULES logs are generated.
INC-170458 · Issue 667374
Handling updated for queue processor locks
Resolved in Pega Version 8.4.6
The Final activity mentioned in the processing epilog of the Service File rule was not being consistently called from File Listener, causing some of the cases to become stuck and not continue to the next stage. Investigation showed that if the lock was held by the queue processor requestor, the system was unable to obtain the lock but still proceeded to update the LogServiceFile page and persist it. This resulted in overwriting changes made on the LogServiceFile page by the requestor, resetting the completed-batches-count set back to 0. To resolve this, RuleServiceFile -> updateLSFBatchCounts() will call the overloaded lockAndLoad() method in LogServiceFile that accepts a parameter called lockAttempts. This will attempt to obtain a lock for a given number of times before throwing an exception.
INC-174612 · Issue 659249
Queue Processor threads explicitly cleared before new interaction
Resolved in Pega Version 8.4.6
Queue Processor was not clearing already evaluated freshness caches before running an activity, potentially causing a stale data page to be processed. This has been resolved by explicitly clearing the thread on a new interaction by invoking ((IPRThread) thread).clearOnNewInteraction.
INC-177773 · Issue 665339
Tracer protections updated
Resolved in Pega Version 8.4.6
Cross-site scripting protections have been updated for Tracer.
INC-177993 · Issue 657201
Archival IndexManagerService performance improved for very large tables
Resolved in Pega Version 8.4.6
Archival IndexManagerService was taking an excessive amount of time to run updateStatusForCasesWithInconsistentArchiveStatus(), a method which checks the parent case's archival status and compares it to all its children (cases & dependencies) statuses and flags parent cases with statuses that do not match. This check is done on all parent case instances that are in the indexer stage, and intermittently timed out and failed on a pr_metadata table containing over 5,000,000 records. This has been resolved by splitting the inconsistent check into smaller tasks and addressing potential parent/child/dependency relationships that can occur in the pr_metadata table.
INC-179025 · Issue 665547
Null check added for getTargetNodeUUID
Resolved in Pega Version 8.4.6
A null pointer error was seen from the tracer during a security scan. This has been resolved with the addition of a null check for TracerRequest.getTargetNodeUUID.
INC-179166 · Issue 676526
Correspondence rule finds updated content
Resolved in Pega Version 8.4.6
Activity Method Property-Set-Stream retrieved the older content of Correspondence when triggered via Queue processor. Restarting the queue processor resolved the issue until the next correspondence update, and then the cycle repeated. This has been resolved by adding an explicit thread cleanup to remove cached rules.