SR-D87870 · Issue 548772
Resolved putting JMS Message through JMS Listener interface
Resolved in Pega Version 8.2.7
When using MS Listener integrated into Pega running on WebSphere Liberty, the listener was running correctly and able to consume JMS Messages. The JMS Listener ruleform provided options to browse and put JMS messages. However, when attempting to put a message into the destination queue, an error occurred. Investigation showed that if the resource lookup was using 'Resource references' on JMS Listener, the naming context was initialized with a null hashtable. This has been corrected by modifying AddJMSMessage and GenericViewJMSMessage to initialize the naming context with the default constructor RefreshJMSMessages to set JNDIServerName and pass the current parameter page when calling GenericViewJMSMessage.
SR-D91894 · Issue 557220
Class Loader cache values wrapped with WeakReference for improved cleanup
Resolved in Pega Version 8.2.7
Out Of Memory exceptions due to Metaspace were observed on Web tier instances running with a max Metaspace size of 2GB. Investigation showed that in PRClassLoaderDB, mLoaderCache values were wrapped with a SoftReference. To resolve this, the Class Loader cache values will be wrapped with a WeakReference, allowing the cache to free memory when it is no longer needed. JVM options has also been added to switch types of References being used if there is a preference.
SR-D92707 · Issue 551694
QP exception handling improved
Resolved in Pega Version 8.2.7
There is currently a configurable maximum size limit for QP items of 5MB. If the message size exceeded 5 MB, the message failed to be enqueued to Kafka, but still ended up in the delayed message table where it remained. This caused issues with pzDelayedQueueProcessorSchedule JS as a result. To resolve this, the system has been updated to better detect Kafka errors related with message size and move any corrupted item to the broken message queue with the appropriate message attached.
SR-D94019 · Issue 553783
Alerting features added for Listeners
Resolved in Pega Version 8.2.7
An enhancement has been added for Email Listener alerts. At the end of each listener's processing cycle, the system will determine the average processing time per message, the total processing time of the listener, the total unread messages count, and total number of messages processed. In each AESRemote agent run, this data will be published to the PDC, where it will be analyzed and any necessary alerts raised.
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.