INC-160825 · Issue 629368
Search landing page performance improved
Resolved in Pega Version 8.4.5
Performance improvements have been made for the Pega Platform search landing page by implementing timeouts for all requests to ElasticSearch when executing PegaIndexAdminImpl.getIndicesInfo() and changing all requests for single index to requests for all indexes. In addition, SearchUtils.areDummyDocumentsPresent() has been modified to get all 'dummy documents' in case there are duplicate dummy documents in the ElasticSearch indexes.
INC-162649 · Issue 639396
DSS added for handling missing attachments
Resolved in Pega Version 8.4.5
When an S3 repository was configured as storage, some cases were not coming up in search and exception errors were seen in logs for a deleted attachment after every system restart/re-indexing of the search. Investigation showed these case objects were in the broken queue for pyFTSIncrementalIndexer due to a null pointer error encountered when indexing the attachment, and that the attachments were available in the repository but could not be read from the attachment repository during indexing. To resolve this, a new DSS setting has been added which allows selecting one of two behaviors: - Pega-SearchEngine indexing/distributed/fail_on_missing_attachment_file = true : broken item is generated, but with a meaningful error message. This is the default behavior - Pega-SearchEngine indexing/distributed/fail_on_missing_attachment_file = false: case is indexed, but without the problematic attachment. Error message is printed out to the logs.
INC-163173 · Issue 650172
Datatype import updated to handle null value
Resolved in Pega Version 8.4.5
After upgrade, attempting to import CSV files in Data type using the import option provided was not working. This was traced to the AccessPolicy Filter value being set to null in the filterLogic, and has been resolved by modifying the 'if' condition in the NativeSQLSecurityPolicyHelper file to handle an empty value in the logic string of an access control policy condition for a datatype class.
INC-169055 · Issue 646673
Performance improvements for database queries and archiving
Resolved in Pega Version 8.4.5
In order to improve the performance of database queries, repetitive unnecessary database calls have been removed, archival queries have been simplified, and diagnostic metrics were added. Optional batch requestors have been added to all archival services with their own DSS settings to allow processing more cases in parallel. It is recommended to create 2 additional indexes to help with the archival process. The indexes will be on:pegadata.pr_metadata (pyisparent, pyobjclass, pyarchivestatus) INCLUDE (pyinskey); pegadata.pr_metadata (pyisparent, pyarchivestatus) INCLUDE (pyinskey);
INC-169856 · Issue 649458
Personalized table sort order limited
Resolved in Pega Version 8.4.5
After implementing a personalized table, the query started adding more 'order by' sorts, causing system impact. This was traced to the pzPopulateSortOrder activity Implementation having different constants assumed for the same purpose (999 in one place and 99999 in another), and has been resolved by updating the logic in step 1 and step 2 to disregard sort orders higher than 999.
INC-174756 · Issue 650672
Queue processor correctly moves items to Broken Items
Resolved in Pega Version 8.4.5
When an exception occurred while Queue Processor processed an item, he queue item was not moved to Broken Items. The error " inconsistent datatypes: expected - got CLOB DatabaseException caused by prior exception" was generated. This has been resolved by modifying the NativeSQL builder and NativeSQLBatchExecutor to allow the batch of queries to be retried. Additional changes were also added for Oracle databases to identify the correct column types.
INC-175622 · Issue 652278
Screen reader announces report names
Resolved in Pega Version 8.4.5
An update has been made to pyReportBrowserItem to ensure names of the reports on the report browser are read correctly.
INC-174116 · Issue 662039
Added reporting on descendant classes for framework
Resolved in Pega Version 8.6.3
Reporting on descendant classes was not working as expected. In a report definition with "Reporting on descendant classes enabled," the framework class and implementation class each refers to two different tables that use the same names but belong to two different schemas. Investigation showed the generated SQL query was not adding the necessary UNION clause, and the records from the descendant classes were missing when running the report on framework class. This was a missed use case and has been corrected.
INC-181684 · Issue 665483
Privileges adjusted for RetrieveReportData
Resolved in Pega Version 8.6.3
In recent versions of Pega, pxRetrieveReportData was secured with @baseclass AllFlows and OpenDeveloperForm privileges. However, this can interfere with setting up roles after update. To resolve this, the privilege restrictions have been removed from pxRetrieveReportData as it is already protected by ABAC/RBAC.
INC-182193 · Issue 674802
Drilldown report takes original report prompt parameters
Resolved in Pega Version 8.6.3
When a report had prompt filters configured and the summary report definition was executed by giving prompt filters, drilling down to one of the records in the summary report display and then looking at the reports displayed and summarized on a column showed a mismatched count. This was found to be a very specific edge case that involved calling the "Summarize" action from a report column within a drilldown report when using a custom filter section and "prompt for filter changes" on the main report. Filters from the custom filter section were being propagated to the drilldown report when summarizing, but the drilled-down-and-summarized report itself had not been refreshed on the client side to reflect this. To resolve this, the actions have been copied from pyDefaultCustomFilterApplyCancel and applied to the Summarize selection in pzGridMenuNavRule.