SR-D87673 · Issue 552484
IACservice security updated
Resolved in Pega Version 8.2.7
Security updates have been made which now require authentication to consume the services from IACservice packages.
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.
INC-126796 · Issue 561533
Modifications to getFunctionalServiceNodes process
Resolved in Pega Version 8.2.7
The count of the Interaction History write related threads was increasing rapidly and a stack trace indicated "waiting on condition" and "java.lang.Thread.State: WAITING (parking)" errors. Investigation showed that this was due to getFunctionalServiceNodes using Hazelcast to determine node status by making a service request on an installation with a very large number of nodes, causing thread locking. To resolve this, the implementation has been updated to avoid calling getFunctionalServiceNodes on save of Interaction History, instead using Cassandra and only calling getFunctionalServiceNodes on the master node, not on all nodes.
INC-128385 · Issue 564519
Behavior made consistent between SSA and legacy engines
Resolved in Pega Version 8.2.7
There was a behavioral disparity between the legacy execution engine and the SSA engine where the latter was not creating a new page when the index was one above the size of the page list. This has now been corrected in order to make the SSA behavior fully backward compatible with the legacy engine, i.e. a new blank page will be added to the list if the index is one above the size of the list.
INC-128898 · Issue 564690
Updated precondition checks for Tumbling Time data in event strategies
Resolved in Pega Version 8.2.7
Tumbling Time data keys in event strategies were not being properly executed when certain window configurations were used. This was has been resolved by turning off the optimalization of Cassandra reads for small windows when window size is not known upfront and set dynamically (set size by property). In addition, an issue with Cassandra timeouts after the dataflow run had been running for several months 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-D82727 · Issue 547723
Improved management for table pr_log_dataflow_events
Resolved in Pega Version 8.2.7
The Lifecycle event table was sometimes growing too large. This additional strain of database transaction volume caused poor performance on the Dataflow tier and lead to cluster instability and time-consuming cluster restarts. Due to problems in one of the Pulse tasks, the Pulse thread was not processing single case metrics properly and causing the unbounded queue for single case to grow. This has been addressed by switching to a fixed queue size, which is configurable with the DSS: dnode/single_case_queue_size. The default value of the DSS is 4000, and if changed a system restart is required. An error will be logged each 1000 queue misses, and metrics will be dropped if the queue is full. In addition, the Pulse task frequency has been improved and managed to prevent interference with other Pulse tasks and will be triggered only if a run is system-paused for a long interval. Rebalances now have a failsafe if something unexpected happens during the Pausing of the run, and If the cluster becomes unstable, the life cycle events logs may be disabled with dataflow/run/events/persist .
SR-D85095 · Issue 546339
Updated COUNT logic for strategies with ssavm set to true
Resolved in Pega Version 8.2.7
An error was seen when attempting to save a strategy after setting ssavm to true, indicating an issue in the “COUNT” method in Group By shape. Since the source field is not used and does not need to be evaluated here, the system has been updated to ignore the source field if the operation is COUNT.