SR-D62754 · Issue 559848
PrepareResponse updated to explictly close Input Handler
Resolved in Pega Version 8.2.7
When using prpcServiceUtils to export a product in a Windows+Weblogic environment, attempting to export repeatedly using the same archiveName with the intention of overwriting the older product with the newer one in the ServiceExport directory failed with a FileNotFoundException. Investigation showed that the product file that was created by the pzExport REST call was not being released by the Weblogic File Handler process. Due to this, the next time the call was invoked the system tried to create the same file in the directory but failed due to the earlier File handle lock. To resolve this, the system has been updated to explicitly close the InputStream using try-with-resources.
SR-D78274 · Issue 544092
Handling added for dual privileges with MSSQL
Resolved in Pega Version 8.2.7
After setting up dual privileges, the Admin user was able to create a table but the base user received an "insufficient privileges" error. Investigation showed this was an issue when using MSSQL: the generated grant statements used the server login name as the user in the grant statement, instead of the database user. For all other databases, the username passed into the connection is the correct user to use for grants. Only MSSQL has a distinction between this connection user name (the login) and the database user, and since the login did not exist in the user table, the grant failed. To resolve this, when MSSQL is used, the system will fetch the underlying database user when determining the user for grant statement generation.
SR-D84190 · Issue 547173
Post-Import Migration Agent query optimized
Resolved in Pega Version 8.2.7
A Post-Import Migration agent belonging to the Pega-ImportExport Ruleset and set to run every 60 seconds by default triggered the SQL query "select ASTERISK from pegadata.pca_CWT_CXP_Work_Interaction" which ran for an excessive amount of time, caused a utilization spike, and then crashed the utility nodes. Investigation showed the excessive run time and load was caused by the query fetching a very large number of results. To better handle this scenario, the query usage has been updated.
SR-D84364 · Issue 551400
Check for circular references added to SearchInventoryImpl to prevent recursive call
Resolved in Pega Version 8.2.7
An out of memory error was traced to SearchInventoryImpl infinitely recursing over a clipboard property, where the child property referenced a parent property and resulted in an endless loop. This has been resolved with the addition of a depth check to ensure that the search does not recurse infinitely.
SR-D85100 · Issue 556260
ProductInfoReader updated to fetch only most recent version information
Resolved in Pega Version 8.2.7
After update, running Hfix scanner on Pega Marketing 8.2 displayed missed critical Hfixes for Pega Marketing 8.1. This has been resolved by modifying ProductInfoReader.runQuery to fetch only latest version of DAPF instances during a scan.
SR-D90687 · Issue 560427
IOException handling improved to resolve broken pipe errors
Resolved in Pega Version 8.2.7
Frequent "connection reset by peers" exceptions were being generated and broken-pipe exceptions were seen in the logs. Investigation traced the issue to unhanded IOExceptions on the server side that were a result of the client application not always closing the TCP connection gracefully. To resolve this, error handling for IOExceptions has been improved.
INC-210513 · Issue 710342
Added handling for clustered index on the pr4_rule table during migration
Resolved in Pega Version 8.6.5
When attempting to migrate the rules schema to RULES85 and temp data schema DATA85, the upgrade was becoming stuck in a loop while working to generate declarative indexes for Rule-HTML-Paragraph. Investigation showed the infinite looping happened only for classes mapped to the pr4_rule and with instance count of more than (num of threads * batch size). This was due to the presence of a clustered index on the pr4_rule table causing the resultset to return an infinite number of records in SQLServer, and has been resolved with an update to leverage the total record count to iterate the resultset instead of depending on the resultset.next().
INC-215877 · Issue 715235
Handling added for Oracle "NUMERIC" type
Resolved in Pega Version 8.6.5
When a product rule was created in an environment using Oracle, importing the product into the cloud environment with database table schema changes resulted in errors. This was traced to a change in Oracle's JDBC driver which was reporting Number as a JDBC "NUMERIC" type instead of the previous "DECIMAL". Pega uses the NUMBER data type and expected a type=DECIMAL for an Oracle number, causing the errors. This has been resolved by adding a check for flex numbers if column is NUMERIC.
INC-218457 · Issue 713988
Updated debug logging
Resolved in Pega Version 8.6.5
Debug logging within IndexReferenceSynchronizer and FastLoader has been updated. With this update, IndexReferenceSynchronizer debug logging will indicate what the action is for each instance, FastLoader will include information about the keys being loaded and statements being executed, and duplicate logging has been removed from BatchSQLExecutors.
INC-215937 · Issue 713773
Added exception handling for PageGroup alerts
Resolved in Pega Version 8.6.5
Queue items were going to the broken queue if there was an issue fetching the alert configuration from the Queue Processor rule. The error "java.lang.IllegalArgumentException: Alert id cannot be blank" was seen. This has been resolved by adding exception handling while gathering alerts from PageGroup so that a malformed alert configuration will not cause overall failure of a processed message, but instead an empty alert will be returned if configuration-data is corrupted.