INC-174661 · Issue 678822
Handling added for clearing node killed between assignment and processing
Resolved in Pega Version 8.7
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-174781 · Issue 655121
Kerberos authentication added for external Cassandra
Resolved in Pega Version 8.7
Support has been added for Kerberos authentication with Cassandra.
INC-174933 · Issue 651829
Special characters escaped for use in "is in List" lookups
Resolved in Pega Version 8.7
After creating a specific criterion on any proposition using a string property, the "Is In List" operator, and a customer list with one value containing a "$", clicking save or check in resulted in the exception error "Problem invoking function: pega_decisionengine_propositionfilterfua.pzPropositionFilterMethodBody--(PublicAPI,ClipboardPage) java.lang.IllegalArgumentException: Illegal group reference at java.util.regex.Matcher.appendReplacement(Matcher.java:857) ". This has been resolved by escaping regular expression control characters in string replacement, which will allow the use of characters such as the $ sign for "is in List" lookups.
INC-175207 · Issue 655554
Added handling for DSM Services stuck in leaving status after database outage
Resolved in Pega Version 8.7
During a database outage, the heartbeat would fail and DSM services would eventually try to enter safe mode and stop. As the first step they would try to change the state to LEAVING, but because the database was down saving the LEAVING state failed and the exception was not handled correctly. This resulted in the rest of the stop operation logic not being executed and the service being stuck in LEAVING. To resolve this, an update has been made to ensure the service goes to LEAVING_FAILED if anything fails during the stop operation including when setting state to LEAVING_FAILED. The state LEAVING_FAILED will get flushed to the database eventually when it comes back up. This will allow the aggregation service to start from the LEAVING_FAILED state and recover by itself after a database outage.
INC-175707 · Issue 655347
Multi-level strategy gives correct rules during Batch run
Resolved in Pega Version 8.7
When using a nested page structure with multi-level strategies that loop through each page and process the customer, a customer with two linked customers A and B had the results of A overridden by B during Batch Processing while single case canvas testing showed the correct results. This was caused by the DSM clipboard page method of carrying the parent page info not supporting the re-use of pages, and has been resolved by adding an enhancement that will sanitize the strategy stage processor to ensure the correct page reference is used.
INC-176757 · Issue 657785
Interaction History properly saved when running strategy on a different data flow
Resolved in Pega Version 8.7
Customized Interaction History properties that had been added to pyInteractionHistoryConfiguration and pyDefaultWorkingSet and saved into the PR_DATA_IH_FACT table were not being saved properly after upgrading from 7.3 to 8.3. This was a missed use case and has been resolved.
INC-177031 · Issue 664858
Adaptive model retry mechanism enabled
Resolved in Pega Version 8.7
Adaptive models were missing from the Model Management page as well as in the Prediction studio while similar models for the same proposition, only differing by the Channel name, were visible. This was traced to data not being synchronized between the database and Cassandra. The pegadata.pr_data_adm_factory database table did not contain the record of the missing channel, but Cassandra did. Since the current Cassandra adm_scoringmodel contained model information, the system still believed the model was present. In order to ensure Cassandra and the database table are in sync, an update has been made to enable the retry mechanism "SyncFactoryKeysTask" to create the ADM model in factory table by periodically looking for scoring models without factories or an entry in adm_meta.
INC-177877 · Issue 661176
Write lock check added to avoid thread contention
Resolved in Pega Version 8.7
After updating the Pega platform and NBA Designer, a significant drop in performance for multilevel strategies was observed. Investigation showed that invoking a sub strategy containing external input intermittently caused a thread contention issue related to write lock. This was traced to overzealous write locking of a component where only a read lock for the thread was required, and has been resolved by adding a verification check to determine whether a write lock is necessary for a given operation before acquiring it.
INC-178214 · Issue 664890
D_ProjectList updated to resolve defined databases error
Resolved in Pega Version 8.7
After update, an API error for D_ProjectList indicating "No databases defined" was seen when trying to load decision and templates for the first time. The error did not reoccur after the initial save. This was has been resolved by updating the handling for loading the properties file during class loading. The error has also been changed to an exception.
INC-178938 · Issue 661495
Exception handling added for ClipboardPropertyCollection
Resolved in Pega Version 8.7
After upgrading from Pega v7.3 to 8.5, validating the existing strategy logic generated the error "ClipboardPropertyCollection is not a supported ILType". This was traced to the special Pega expression type PropertyCollection not being supported by IL, and has been resolved by adding logic that will throw a more appropriate exception (instead of the generic PRRuntimeException) so the event can be caught by the existing fallback logic.