SR-D68558 · Issue 536677
Timing updated for Cassandra session change thread lock
Resolved in Pega Version 8.2.6
An issue with unresponsive nodes was traced to the method used for notifications about Cassandra session changes. A thread trying to obtain a Cassandra session acquired a read lock, then if it then determined that a new session had to be created it would also acquire a write lock, preventing other nodes from trying to acquire the session. After creating a session, the thread notified all session change listeners while holding the write lock, causing deadlock with dependent services. To resolve this, the timing has been updated by moving the session change notification to the listeners outside of the section guarded by the lock.
SR-D69028 · Issue 528973
Deadlock in static Initialization of IntList resolved
Resolved in Pega Version 8.2.6
JVM Deadlock was seen related to the static Initialization of a subclass field in class com.pega.decision.strategy.ssa.runtime.collections.api.IntList . Thread dumps showed threads in RUNNABLE State that were parked to wait for class initialization, and this was traced to a missed sonar alert which failed in multi-threading. To resolve this, the system handling has been updated to prevent potential deadlock.
SR-D69052 · Issue 536099
Nodes cleared on startup to resolve pending joining state
Resolved in Pega Version 8.2.6
ADM nodes were taking a long time to start and ending up stuck in Pending_Joining state. This was traced to a condition where if a node held a lock and restarted, it created a block where others waiting for the lock to be released sat and waited. To resolve this, an update has been added to clear previously held locks on startup.
SR-D71621 · Issue 533295
Real time processing picks up correct datetime for Capture Response records
Resolved in Pega Version 8.2.6
A Realtime Data flow for the Capture Response flow was configured with a strategy shape set to load previous decisions within the past 7 days. Once this Realtime DF was started, attempting to Capture Response for decisions made after that startup timepoint did not work. This was traced to the InteractionID being written with global properties for the datetimes, and has been resolved by making those datetime properties local so the start and end time are not cached and the time range is calculated based on "now”.
SR-D74117 · Issue 539461
DDS service will not run Hazelcast check if external Cassandra is configured
Resolved in Pega Version 8.2.6
Services were not responding, and thread dumps seen in the logs indicated that a large number of threads were waiting for one to come back from getting the cluster state for a DSM process. Investigation showed that the threads were waiting for a Hazelcast response about the cluster state. However, since a Hazelcast call is not needed when Pega is configured with external Cassandra, the DDS Service code has been changed to not to check for candidate nodes if configured with external Cassandra cluster.
SR-D74247 · Issue 542916
Resolved errors when using Build Model from the Preview Console
Resolved in Pega Version 8.2.6
Using the Web Chatbot interface and trying to perform Build Model action from Preview Console failed with multiple errors, either "This action is not allowed as it is outside the current transaction" or "class <blank> doesn't exist". This was traced to issues with the transaction during model update, and has been resolved by conditionally disabling the show page step of pzGetModelProcessStatus. This step creates a difference in the context of the current transaction and is disabled when called from Update API.
SR-D78940 · Issue 542926
Dataflow monitoring enhanced
Resolved in Pega Version 8.2.6
Enhanced monitoring and healthchecks have been added for dataflow and alerts.
SR-D79909 · Issue 542244
DDS added for automated dataflow run cleanup
Resolved in Pega Version 8.2.6
During a recent upgrade it was seen that there were in excess of 20k dataflow runs, some 2 years old, which slowed down the migration significantly. In order to resolve this, an automated process has been added. This clean-up procedure deletes all the single case, batch, and real time runs older than 30 days which are in the final state - Completed, Completed with Failures, or Failed, and batch and real time runs which are in the Stopped state. The DDS Pega-DecisionEngine.dataflow/run/maxDaysToKeepRuns.should be used configure the retention period. Note that the retention period is calculated since the last processed message and not the creation time of the run.
SR-D82917 · Issue 545518
Revision Management updated for Marketing
Resolved in Pega Version 8.2.6
When Offers created outside of the CR context were deleted from Revision Managment LP using the Delete Rules option, the Offer was deleted but the Decision Data was not updated. This also happened when the offer was not included while submitting the revision. This has been resolved by providing the needed extension for deleting the offer rules in marketing.
SR-D16934 · Issue 493702
External Cassandra nodes listed in DDS cluster
Resolved in Pega Version 8.3.1
Nodes of an external Cassandra cluster were not listed in the DDS cluster except for the first one in the host list, and when the “only” listed Cassandra node was restarted, the status on the DDS cluster LP did not become “NORMAL” afterwards. In addition, even though other C* nodes were up and running, the external Cassandra cluster was reported as unreachable. This was an unintended side effect of work done on the landing page to reflect the real state of the nodes after some were killed and restarted, and has been corrected by refining the equals() and hashCode() methods for DDS member info in order to better differentiate the external Cassandra nodes.