INC-181148 · Issue 663164
Documentation updated for altering data type to Timestamp to avoid duplicate data in Decision Hub
Resolved in Pega Version 8.5.6
By default, the pxOutComeTime column has a Date data type in the pr_data_ih_fact table. This may cause duplicate data issues. To resolve this, the 8.5 and 8.6 installation and upgrade guides for Pega Customer Decision Hub have been updated to include a new procedure "Modifying column definitions to use the TIMESTAMP datatype in an Oracle database". Performing this procedure will allow users to avoid the duplicate data issue. All documents are available from the Pega Customer Decision Hub product page.
INC-203994 · Issue 698853
DSS added to handle merges with lower versions of Postgres
Resolved in Pega Version 8.7.1
After update, executing the batch campaign with volume constraint resulted in the second data flow DF_Wait failing with error message "ERROR: number of columns (1844) exceeds limit (1664)". This was due to the database set’s change (in 8.5) to use the database layer’s merge statement. Prior to that, the logic used "deletes and inserts". Depending on the version of Postsgres, the generated SQL statement for a merge statement is different. The “INSERT … ON CONFLICT … UPDATE” syntax is generated for Postgres 9.5+ AND when there is a PK constraint defined for the DB table. Otherwise, the complex UPSERT statement (old syntax) is generated, as was the case in this issue. This is a known issue in the Postgres server software where it mis-interprets the number of columns involved. i.e., it mistakenly counts the number of columns twice. As a result, the actual maximum columns allowed is only half of the official limit (1664). The same UPSERT statement does not cause the “exceeds limit” exception if there are 832 or fewer columns in the statement. To resolve this, an option has been provided to select between the “original logic” (deletes and inserts) and the “merge statements” logic by way of the DSS “decision/datasets/db/useMergeStatementForUpdates”. Setting “true” will use the merge statement logic, and setting “false” will use deletes and inserts. When the DSS is not defined, the default is "true" and the system will use merge statements in the form preferred by Postgres 9.5+.
INC-192935 · Issue 698695
Inline images retrieved for deferred-load email
Resolved in Pega Version 8.7.1
When emails were defer-loaded, inline images with code entered into the non-cache section in pyExtractHtmlFromAttachment were not being displayed. This has been resolved by passing the current page parameter to pyExtractHTMLFromAttachment to convey the pyID.
INC-200148 · Issue 693148
Added JSoup handling for older Microsoft Outlook versions
Resolved in Pega Version 8.7.1
Logging indicated that some emails were generating the error "pyextractlatestreplyfromhtml is resulting in java.lang.IllegalArgumentException: Object must not be null." This occurred when using an older version of Microsoft Outlook, and has been resolved by adding a check before removing the JSoup doc object.
INC-200237 · Issue 693179
Added API for Pega Call Team websocket reconnect
Resolved in Pega Version 8.7.1
When a call came in, the operator was not able to pick it up due to the popup only containing a reconnect section. This has been resolved by adding the disconnectAndReconnect API which will be used by Pega Call Team if the websocket reconnect limit exceeds 5.
INC-203463 · Issue 694163
Added deferred loading for email cases
Resolved in Pega Version 8.7.1
When there were a significant number of email interactions on an email case, delays were seen when loading the case in the UI. Investigation traced this to a high number of database calls along with the BLOBs also being open. To improve performance, the new rule pyDeferLoadEmails has been added which toggles the UI and loads emails faster. In addition, the button label has been modified to read "View all emails" in place of "Show all" while defer load is enabled.
INC-180246 · Issue 699700
Support for apostrophe added to keyword tokenization
Resolved in Pega Version 8.7.1
A keyword containing an apostrophe was not detected properly in Text extraction model. This has been resolved by updating the annotator used in the tokenization.
INC-193399 · Issue 688115
DSS added to handle merges with lower versions of Postgres
Resolved in Pega Version 8.7.1
After update, executing the batch campaign with volume constraint resulted in the second data flow DF_Wait failing with error message "ERROR: number of columns (1844) exceeds limit (1664)". This was due to the database set’s change (in 8.5) to use the database layer’s merge statement. Prior to that, the logic used "deletes and inserts". Depending on the version of Postsgres, the generated SQL statement for a merge statement is different. The “INSERT … ON CONFLICT … UPDATE” syntax is generated for Postgres 9.5+ AND when there is a PK constraint defined for the DB table. Otherwise, the complex UPSERT statement (old syntax) is generated, as was the case in this issue. This is a known issue in the Postgres server software where it mis-interprets the number of columns involved. i.e., it mistakenly counts the number of columns twice. As a result, the actual maximum columns allowed is only half of the official limit (1664). The same UPSERT statement does not cause the “exceeds limit” exception if there are 832 or fewer columns in the statement. To resolve this, an option has been provided to select between the “original logic” (deletes and inserts) and the “merge statements” logic by way of the DSS “decision/datasets/db/useMergeStatementForUpdates”. Setting “true” will use the merge statement logic, and setting “false” will use deletes and inserts. When the DSS is not defined, the default is "true" and the system will use merge statements in the form preferred by Postgres 9.5+.
INC-193632 · Issue 679172
Cassandra driver metrics exposed for performance troubleshooting
Resolved in Pega Version 8.7.1
By default Cassandra driver metrics are now enabled. Metrics can be disabled by setting the dnode/disable_driver_metrics prconfig parameter.
INC-193847 · Issue 695974
DSS added to allow masking of subjectID in alerts
Resolved in Pega Version 8.7.1
In order to allow customizing whether or not a subjectID is included in alerts, a DSS has been added to conditionally mask the subjectID from being logged. To use this, set the "alerts/maskIHsubjectID" DSS in the Pega-DecisionEngine ruleset to true to hide the pySubjectID.