SR-D89643 · Issue 548291
Old Tumbling Time data in event strategies given TTL for cleanup
Resolved in Pega Version 8.2.7
Old Tumbling Time data keys in event strategies were not being cleaned up, causing Cassandra timeouts after the dataflow run had been running for several months. The longer the dataflow was running using standard compaction, the more the data was potentially spread out across SSTables and the slower it became. This has been resolved by adding a 'time to live' value for tumbling time windows, and event strategies has been switched to use leveled compaction by default.
SR-D90367 · Issue 556686
Cleanup enhanced for long pyEditElement names
Resolved in Pega Version 8.2.7
A pyEditElement error relating to decision data was seen multiple times in a stack trace. Research showed that while the utility worked as expected for decision data rules with names of less than 30 characters, the pyEditElement section was truncated the name for the decision data. This meant that decision data with the name SampleIssueandSampleGroupTwosalkdjkightntbmkblffvfvfv would be saved as SampleIssueandSampleGroupT for the pyEditElement section. Because of this, the utility failed the match and did not clean up the pyEditElement section. To resolve this, the cleanup utility has been updated to handle pyEditElement sections of decision data with longer names. Additional logging has also been added to improve debugging.
SR-D90579 · Issue 550769
Real Time data flow exception during shutdown corrected
Resolved in Pega Version 8.2.7
A Real Time DataFlow run was failing with a java.util.concurrent.RejectedExecutionException. This occurred when the node was shutting down while picking up a partition, and was due to the life cycle events not being able to update the partition status. To resolve this, a check has been added to prevent the exception form occurring by evaluating whether the Executor is shutdown while distributing messages.
SR-D96836 · Issue 555748
Refinements made to MarkerNode memory use
Resolved in Pega Version 8.2.7
Significant memory usage can be observed when data join in strategies are missing the join conditions. E.g., when the primary source in the strategy can have up to 300 or even more propositions, the join without the join condition would perform a cartesian product with possibly up to 400 or even more records returned. This may cause performance degradation. To guard against this, an update has been made that seeks to prevent repetitive markers being accumulated under a MarkerNode while trying not to rely on any implementation of equality and hashCode for individual marker implementations.
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.