Skip to main content

Resolved Issues

View the resolved issues for a specific Platform release.

Go to download resolved issues by patch release.

Browse release notes for a selected Pega Version.

NOTE: Enter just the Case ID number (SR or INC) in order to find the associated Support Request.

Please update your bookmarks. This site will be discontinued in Dec 2024.

Pega Platform Resolved Issues for 8.1 and newer are now available on the Support Center.

INC-202878 · Issue 713791

Handling updated for social messaging items with very large embedded images

Resolved in Pega Version 8.8

Job scheduler was running out of memory while handling large/multiple files, causing nodes to crash while handling Social Messaging items. Inline images were also not being sent in the ACK email. Investigation traced this to a custom job scheduler and activity used to create PDFs from email communication and send the PDFs to a third-party system. This used the standard Email Triage/PegaSocial functionality for the emails, which were stored as instances of PegaSocial-Message. The custom Job scheduler and activity then leveraged the Data Page D_pxEmailPosts to retrieve the emails in order to harvest the text from the emails. The issue occurred when a number of the emails had multiple or large embedded images in them, meaning the PegaSocial-Message instances are very large. This resulted in the node running out of memory and crashing. To resolve this, code has been added to support inline images in ACK email and the complete message from Pulse will be used instead of the original message as the email body for the ACK email.

SR-D40053 · Issue 517528

GetNextWork will use pyID to create unique thread name

Resolved in Pega Version 8.4

After creating three cases, for example D-1, D-2 and D-3 in application 'App1', and then moving to application 'App2' using Switch Application, the GetNextWork function was displaying unexpected behavior. Clicking on 'get next work' three times picked up the three cases (D-1, D-2, D-3) as expected, but when a case was closed manually the last case's lock was removed from the table. For example, closing D-2 manually resulted in the lock instance for the last case ID (D-3) being removed instead of D-2. This was traced to the Get Next Work API creating the thread with the access group name, which meant that if multiple assignments were accessed through 'get next work' it was always cleaning the already opened assignment threads and only the last assignment thread was available. To resolve this, Instead of creating the thread name with accessgroupname, the system will use the work object's pyID to create the thread using a unique key.

SR-C38060 · Issue 385590

Timing resolved so pxDateTime control accepts Pega Date Time value on the first input

Resolved in Pega Version 8.1

In Pega Mobile android client, pxDateTime that was displayed within a dateTime field using a calendar selector was throwing an error on the first encounter if the field value was already filled using the Pega DateTime format of "yyyymmddThhmmss.SSS zzz". The console error from the templating engine was: "The specified value "20180605T103556.398 CDT" does not conform to the required format. The format is "yyyy-MM-ddThh:mm" followed by optional ":ss" or ":ss.SSS". " This was traced to the handleNativeDate function in pzpega_control_datePicker.js file executing "pega.u.d.CalendarUtil.fireClientEvents(hiddenInput);" two times. Before firing the first event "onchangehandler" returned null, so the 'if' condition executed to true and fireClientEvents was again getting executed. Because there was no delay in between these executions, the second event was getting executed while the first event was still in progress, causing the DOM value of the property to not be properly set before validation was getting triggered during the second invocation. This has been resolved.

SR-D12297 · Issue 483685

Added support for anonymous objects in a nested JSON Data Transfer

Resolved in Pega Version 8.1.6

Calling a inner Data Transfer from an outer Data Transfer (both of type JSON) was generating an exception. This exposed an edge case in JSON mapping related to a condition where an object's field value was an array that included anonymous objects. The code maintains its "place" in the JSON structure partly by means of a "jsonContext" structure that names every object (but not any array or anonymous object) it is inside of, which is key to the serializer's ability to flatten nested clipboard structures in the JSON or conversely expand flat clipboard structures into nested JSON structures. In addition, there is a "structureStack" that shows how deep the function is in terms of OBJECT and ARRAY elements. The code uses the indices into these two structures to determine whether to pop out of one or the other, and in this scenario, when a field's value was an array containing an anonymous object, closing the array was causing the outermost object to be closed, thus leading to the exception when the system tried to continue to serialize. To resolve this, when closing an array, the system will check whether the parent of the array had the same name as the last position in the jsonContext, and if so, pop the jsonContext.

SR-A87606 · Issue 257332

VDB start waits for Cassandra node with keyspace data

Resolved in Pega Version 7.2.2

An issue was found with restarting a DNode if there were no copies of the VBD keyspace data on the available nodes in the Cassandra cluster when VBD started up. VBD uses replica factor 3 on its keyspace, meaning there will be at most 3 nodes in the cluster with full copies of the VBD data. If when restarting the cluster only Cassandra nodes that happen to not have VBD's data were brought up, starting up VBD would hang trying to read partition summary data. As a solution, If VBD is started and its Cassandra data is not yet available, the process to load partition summary data will wait until the next time there is VBD activity. Once the Cassandra node comes up with VBD's data, it will be loaded and VBD functionality will be enabled. Additionally, an intermittent deadlock was discovered when starting 2 VBD nodes in parallel. The deadlock appeared when VBD was initializing its persistence at the same time another thread checked to see if persistence was initialized (triggered by remote request from second node). The first thread owned a Hazelcast distributed lock and attempted to use a Supplier to get an instance of an object. The second thread was already calling the Supplier and was waiting for the Hazelcast distributed lock. This deadlock has been fixed.

SR-C25788 · Issue 390394

Changed temp directory handling for Export to Excel

Resolved in Pega Version 8.1

In rare cases, using the Export to Excel feature on the report definition viewer resulted in a Java FileNotFoundException. This was traced to process conflicts between the new Export to Excel implementation first featured in 7.3 and the Apache POI used to generate Excel documents by streaming the file to the disk as it is populated. Each worksheet in the document is streamed to its own temporary file. At the end of generation, the Excel document is created by opening the completed temporary files and copying their data into the final document. This way the entire dataset is never held in memory at once unless it is particularly small. However, the temporary file that holds the Data worksheet was in rare cases being deleted while the rows and columns were being populated. This was not noticed by the code until the file was reopened to copy its data into the final spreadsheet. Since it is not necessary to store the temp files in a separate directory (poi files) instead of using the the default configuration for saving temp files, the system will now use the function PegaTempFileCreationStrategy which will create the temp file but not create the temp directory. This means all the generated temp files are stored directly in the temp directory and not in the sub-directory poi files. ExcelReportExporter has also been updated so Apache POI knows to use this class for managing temp files.

INC-188124 · Issue 673106

Strategy updates

Resolved in Pega Version 8.7

Three issues with Strategies were addressed: * During NBAD-generated strategy execution, each interaction history summary is queried twice to check data relevancy. This update adds configuration options to disable topup in aggregate datasets. Topup can be disabled with the following configuration items: Set prconfig "ih/aggregates/last_customer_update_method" to NONE Set DSS "cep/aggregates_dataset/partition_proc_cache_time" to -1 * During NBA strategy execution, interaction history summaries were queried multiple times for a single strategy execution. To improve this function, the isChanged query will now be executed once after system startup if there are no changes instead of being executed every time the Aggregates DataSet BBK is executed. If the same Aggregates query is made multiple times as part of a Strategy in a REST request (i.e. likely multiple ADM models in a MakeDecision call), only one Aggregates BBK call will be made. * Summaries created with a list of filters for aggregation were intermittently truncating the generated Summary Dataset. This has been resolved by updating the Digest calculation strategy to not take into account Filter IDs which may change if a Dataset is generated from CPD.

SR-A76847 · Issue 255143

Outbound Correspondence enhanced to handle Inline Content

Resolved in Pega Version 7.2.2

Pega's outbound email features previously only allowed for specifying "attachments" for inclusion for the email messages that are sent out from the Pega application and did not support "inline content". This led to all images in a Correspondence object being packaged as attachments when Pega sent Correspondence as email, and images might fail to appear in the body of outbound Correspondence when the recipient opens the message in their email client. Images intended to be part of the message body would appear as attachments to the email message. To enhance the mail services, a new PageList property "pyInlineContent" of type "Embed-EmailAttachment" has been added to the preexisting "Data-EmailAttachments" class. The "SendEmailMessage" Rule-Utility-Function has been enhanced to detect when the new "pyInlineContent" property is populated. If the email is HTML formatted, the content in the list will be given a disposition of "inline" and packaged with the HTML body in a message part of type "multipart/related" for proper consumption by email clients. If the email is not an HTML email, the "inline" content will NOT be branded as inline content, so that it appears as an attachment when the email message is opened. The "SendEmailNotification" in Pega-EventProcessing has been WITHDRAWN and replaced with a new version in SendEmailNotification which has an updated "prepare" step (#2) that puts the data for images in HTML (Corr) into the new "pyInlineContent" property of the Email Attachments page (if such a page exists), so that SendEmailMessage can process them correctly.

INC-194415 · Issue 692825

Improvements for dirty popup

Resolved in Pega Version 8.6.4

Multiple issues have been addressed for dirty popups. 1) While working on an assignment, making a change and then clicking on the left navigation (Home, Dashboard) did not show the dirty pop up as expected, and the change was lost. The dirty pop up did appear on the Cancel button and Actions within the case. This has been resolved by improving the context switching for visibility of the dirty pop up. 2) Attempting to work around the previous issue by clicking "Do not display dirty warnings" only worked the first time it was tried. With this change in place, opening the assignment, making a change, then clicking Home, caused the pop up to appear as desired, but opening the assignment again and making a change, then clicking Home again did not prompt the dirty pop up. This was due to the click handler getting hit twice, leading to the already open dirty dialog being closed during the second call to the function 'isFormDirty' in pzpega_ui_doc_actionRouter.js file, and this has been resolved. 3) When attempting to close the case as a draft, clicking the save button caused the system to keep loading for a few minutes without sign of completing the save process and eventually the browser had to be closed. The content was saved, but the system was not able end the loading screen. This was caused by an incorrect harness context which caused the "SubmitInProgress" flag to be true on the incorrect harness context so the modal was not dismissed. To resolve this, on clicking the "Save" button, after the confirmation modal is closed, the pega.u.d.isDirtyDialogOpen will be reset to false.

INC-211253 · Issue 711278

Improvements for dirty popup

Resolved in Pega Version 8.6.4

Multiple issues have been addressed for dirty popups. 1) While working on an assignment, making a change and then clicking on the left navigation (Home, Dashboard) did not show the dirty pop up as expected, and the change was lost. The dirty pop up did appear on the Cancel button and Actions within the case. This has been resolved by improving the context switching for visibility of the dirty pop up. 2) Attempting to work around the previous issue by clicking "Do not display dirty warnings" only worked the first time it was tried. With this change in place, opening the assignment, making a change, then clicking Home, caused the pop up to appear as desired, but opening the assignment again and making a change, then clicking Home again did not prompt the dirty pop up. This was due to the click handler getting hit twice, leading to the already open dirty dialog being closed during the second call to the function 'isFormDirty' in pzpega_ui_doc_actionRouter.js file, and this has been resolved. 3) When attempting to close the case as a draft, clicking the save button caused the system to keep loading for a few minutes without sign of completing the save process and eventually the browser had to be closed. The content was saved, but the system was not able end the loading screen. This was caused by an incorrect harness context which caused the "SubmitInProgress" flag to be true on the incorrect harness context so the modal was not dismissed. To resolve this, on clicking the "Save" button, after the confirmation modal is closed, the pega.u.d.isDirtyDialogOpen will be reset to false.

We'd prefer it if you saw us at our best.

Pega.com is not optimized for Internet Explorer. For the optimal experience, please use:

Close Deprecation Notice
Contact us