INC-166354 · Issue 637301
Queue Processors made more robust
Resolved in Pega Version 8.5.4
After upgrade, multiple queue processors were not running as expected. Attempting to restart them generated an error. Investigation showed that the real time data flow runs were not picking up or accepting assignments because the local node was under the impression it was still processing data. In this case, the need to synchronize the state of multiple threads caused the queue processors to become stuck in an initializing state due to a race condition that caused the data flow engine to think this run still had threads running when all threads were already stopped. To resolve this, the callback handling has been simplified and made more robust. In addition, in some cases the data flow leader node would believe the service nodes did not accept assignments even when they did. This occurred if many runs and nodes were involved, and was traced to an implicit limit on the NativeSQL query used to read the data to see which assignments were accepted. To resolve this, the key-value store in the Service Registry has been modified to allow a query of more than 500 entries at once.
INC-166561 · Issue 645649
ADM Models correctly updated
Resolved in Pega Version 8.5.4
The ADM models were not being updated when responses were processed either via the CaptureResponse API or when the time elapsed that should result in an update reflecting a non-response. This was traced to incomplete handling for a response coming for some other model which was converted to _EMPTY_, and has been resolved by modifying the logic so that the default responses and other responses are processed properly.
INC-167334 · Issue 639317
GRS support added for Kafka Key password
Resolved in Pega Version 8.5.4
An enhancement has been added to support using GRS to set values for the Kafka Key password dynamically.
INC-167414 · Issue 646035
ADM Models correctly updated
Resolved in Pega Version 8.5.4
The ADM models were not being updated when responses were processed either via the CaptureResponse API or when the time elapsed that should result in an update reflecting a non-response. This was traced to incomplete handling for a response coming for some other model which was converted to _EMPTY_, and has been resolved by modifying the logic so that the default responses and other responses are processed properly.
INC-168271 · Issue 640348
ADM performance improvements and duplicate inputs corrected for delayed learning records
Resolved in Pega Version 8.5.4
Additional work has been done to improve the performance for Adaptive Models used in multi-level decisioning, and an issue with duplicate pxCommonInputs has been resolved.
INC-168779 · Issue 642416
Cassandra default driver upgraded
Resolved in Pega Version 8.5.4
An admin user connection to an external Cassandra server was successful, but all of the ADM nodes were failing with the error "Cannot start service [ADM.Default]. Will retry in 180 seconds. com.datastax.driver.core.exceptions.UnauthorizedException: User n_admin has no CREATE permission on or any of its parents". This has been resolved by upgrading the Cassandra default driver version to 3.6.0.
INC-169125 · Issue 642400
Nodes resume correctly after DDS restart
Resolved in Pega Version 8.5.4
A corner case issue in VBD's code for handling a DDS session was preventing the nodes from recovering correctly after a system shutdown. As part of the process for an event which fires if all DDS nodes are taken down or as part of a switch from embedded to external Cassandra, VBD's cache is invalidated and then re-initialized once new VBD API calls are received or on the VBD service pulse. In this case, the invalidation of the cache did not complete due to logic in the VBD code that can lead to executing a Cassandra query that will not work in the case of all DDS nodes being down. This has been resolved by modifying the handling of a session change event to eliminate inadvertent Cassandra queries so the invalidation can complete correctly and continue the re-initialization process.
INC-169544 · Issue 649539
Enhancement for MaxEnt modeling data
Resolved in Pega Version 8.5.4
An enhancement has been added to create output for the model coefficients, the term frequency, and the inverse term frequency for use in maximum entropy modeling. For MRM processes, every Maximum Entropy (Maxent) based topic model will contain two additional stats resources. These resources can be used to validate and replicate running of topic model outside of Pega. The resources are: 1) Term Frequency file – A CSV file with all words used for training and their cumulative frequency across training set. File name format – TRAINING_DATA_TERM_FREQUENCY_< RandomNumber >.csv olumns – Word, Count 2) Coefficient file – A CSV file with all features (words, taxonomy matches and category matches) and model learnt weights for each topic across training set. File name format – MAXENT_COEFFICIENT_VALUE.csv Columns – Feature, < TopicName1 >, < TopicName2 > ,…, < TopicNameK >
INC-170149 · Issue 645724
pzTenantID removed from Revision management classes
Resolved in Pega Version 8.5.4
After upgrade, issues were seen with case types in the case explorer. This was caused by the Revision management work classes created in the 7.1.x version having pzTenantId property in the rule XML when it was not defined anywhere in the 8.x versions, and has been resolved by removing the pzTenantId property from the Revision management classes.
INC-171221 · Issue 645988
Queue Processors made more robust
Resolved in Pega Version 8.5.4
After upgrade, multiple queue processors were not running as expected. Attempting to restart them generated an error. Investigation showed that the real time data flow runs were not picking up or accepting assignments because the local node was under the impression it was still processing data. In this case, the need to synchronize the state of multiple threads caused the queue processors to become stuck in an initializing state due to a race condition that caused the data flow engine to think this run still had threads running when all threads were already stopped. To resolve this, the callback handling has been simplified and made more robust. In addition, in some cases the data flow leader node would believe the service nodes did not accept assignments even when they did. This occurred if many runs and nodes were involved, and was traced to an implicit limit on the NativeSQL query used to read the data to see which assignments were accepted. To resolve this, the key-value store in the Service Registry has been modified to allow a query of more than 500 entries at once.