INC-201336 · Issue 691900
Tombstone cleanup modified to handle very large volume environments
Resolved in Pega Version 8.6.3
Cassandra nodes were periodically suffering from an out of memory condition. This was traced to tumbling windows creating too many tombstones for Cassandra to clean up effectively when running in a very high volume environment with a short tumbling time. This has been resolved by modifying the procedure away from using individual tombstones to instead use range tombstones which will continuously supersede the previous tombstone so there is never an opportunity for them to build up.
INC-201337 · Issue 691607
Key Value Store handling revised for greater backwards compatibility
Resolved in Pega Version 8.6.3
Previous optimization work done to reduce the size of the "nm" field when the hierarchy string is empty resulted in some Key Value Store records not being read from older systems during update. This has been corrected.
INC-201340 · Issue 693022
Scenario Planner performance improvements
Resolved in Pega Version 8.6.3
Scenario planner runs were causing out of memory errors on the dataflow nodes. To resolve this, updates have been made to improve performance. Only relevant information will be kept for decision funnel simulations out of SR pages, the memory footprint of data structures used to aggregate and rollup counts has been reduced, and temporary objects will be released as soon as they are not needed anymore.
INC-201362 · Issue 693108
Inbound scenario planner simulations updated
Resolved in Pega Version 8.6.3
The Customer Decision Hub (CDH) Simulation Planner acceptance metrics have been updated to consider only one proposition per subject during calculations. The proposition being considered is always the one with rank 1 returned by the top level decision strategy.
INC-201363 · Issue 692980
File Dataset wildcards updated for ADM storage
Resolved in Pega Version 8.6.3
Attempting to access the filepath was failing and an error was seen indicating "Could not obtain lock 'Create repository file pegacloudfilestorage:ADM/Rule-Decision-AdaptiveModel/Data-Decision-Request-Customer". While creating a file name, a lock is generated while checking the file names of existing files. If the file data set has a large number of files, a condition may occur where some threads are unable to save data and an exception is thrown. To resolve this, the wildcard previously used in the file name has been replaced with the Pega node id + thread id + current timestamp. This will ensure all wildcards are unique and there is no need to lock and list existing files.
INC-201364 · Issue 690807
Prediction outcome response timing updated
Resolved in Pega Version 8.6.3
Predictions using a response timeout were not emitting a negative response ('NoResponse') when the specified waiting time expired. This was traced to the the outcome and response timeout values being overridden while triggering responses for multi stage predictions along with chained predictions. This has been resolved by modifying the flow to emit each outcome as it is received and by adding the dataflow trigger in the function so that it does not override the values in case of chained predictions.
INC-201365 · Issue 691786
Handling added for clearing node killed between assignment and processing
Resolved in Pega Version 8.6.3
An Offer flow was not resuming after it expired according to the wait shape. Investigation traced this to partitions which were assigned to a dead node in NEW state where they were not picked up by the dataflow. The problem was only encountered in the unusual situation when a dataflow node was killed in the brief period of time between the assignment and the processing, and has been resolved by adding an update which will clear unknown new assigned partitions for the batch run health task.
INC-201366 · Issue 691509
Performance improvements for stale thread warnings
Resolved in Pega Version 8.6.3
Stale thread warnings were causing performance issues during dataflow run execution. Stale thread/slow component warnings are added as part of the dataflow execution when a processing thread takes more than 5 minutes to process a single dataflow record. The stacktrace of the dataflow thread is added as part of the warning for debugging purposes, but in some scenarios the stacktrace can become very large. This has been resolved by removing the stacktraces from the warning, improving the query logic, and adding the run ID to the exception method to assist if there is an error.
INC-201610 · Issue 691879
Removed services check and added warnings for simulations
Resolved in Pega Version 8.6.3
Attempting to run an audience simulation resulted in the error "Running simulations is not possible, because the required services are not available. Contact your system administrator to enable the data flow and real-time data grid services". Investigation showed the @DsmServices.pxHasFunctionalNodes("DataFlow","Batch") function call contained in the 'when' rule pyUnavailableDecisionServices was returning false even if all the nodes were in the cluster and all the DSM Services were in NORMAL status. To resolve this, the services check has been disabled and the simulation run will show a warning or fail if a data flow run is queued for more than 30 secs or if there is an issue with querying the underlying metrics storage.
INC-202937 · Issue 695942
RealTimeProcessingDelay made configurable
Resolved in Pega Version 8.6.3
When using interaction history summaries in Engagement Policy strategies, the check whether a particular action was sent previously was not returning any results for the customers that did have an action "Sent". These records were present in the IH Fact table but the IH Summary tables were missing these records. This has been resolved by making the realTimeProcessingDelay configurable for reading from IH in a real-time flow configurable (done as part of IH pre-aggregation). This may be useful if there can be a difference in time between machines inserting into IH which causes pre-aggregation to miss processing records. The relevant DSS is "interactionHistory/realTimeProcessingDelay", and the default is 5 seconds. This must be set before starting pre-aggregation. This is the difference between the end position and the log time. RuleSet: Pega-DecisionEngine DSS Name: interactionHistory/realTimeProcessingDelay Value: <new delay in seconds>