SR-D74247 · Issue 542915
Resolved errors when using Build Model from the Preview Console
Resolved in Pega Version 8.3.2
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-D39972 · Issue 513459
UpgradeOnOpen updated to use property set
Resolved in Pega Version 8.3.2
After upgrade, using the revalidate & save wizard on MapValue rules (Rule-Obj-MapValue) generated null pointer exceptions in the tracer file and rules failed with bad status. This was traced to changes made in the Java step of UpgradeOnOpen that used the getReference() method, and has been resolved by updating the UpgradeOnOpen activity in the Rule-obj-Mapvalue class to use property set.
SR-D42451 · Issue 518066
ExecuteRDB call updated to use NativeSQL for blob
Resolved in Pega Version 8.3.2
After creating a test activity to clear data set records that used the DataSet-Execute method and passed the data set name and truncate operation, only 51 records were deleted in a single run when the data set had more than 51 records. Investigation showed that for blob tables, the database truncate operation was using executeRDB with an empty results page, i.e. it didn't specify pyMaxRecords, which on some databases might have limited the number affected records. To resolve this, the executeRDB call in the database truncate operation has been modified to use NativeSQL for blob tables.
SR-D45608 · Issue 519900
Correct service instance name passed for data flow in DSMStatus
Resolved in Pega Version 8.3.2
When using the Connect-HTTP service "DSMStatus" to provide the node and status information as seen on the various tabs of the Designer Studio > Decisioning > Infrastructure > Services landing page, using DataFlow as the service parameter for the HTTP service method resulted in an empty response when the expectation was to get the information regarding the cluster details of Dataflow node type. This was traced to the service instance name not being parsed correctly when used for Data Flow services, and has been resolved by ensuring the correct service instance name is passed for this use.
SR-D47618 · Issue 512601
Statistic rounding error in ADMSnapshot Agent with Oracle corrected
Resolved in Pega Version 8.3.2
While running the ADMSnapshot Agent, the exception "internal.mgmt.Executable) ERROR com.pega.decision.adm.client.ADMException: Failed to complete ADM Data Mart snapshot" was seen. This was traced to an issue with the rounding of performance statistics when using Oracle, and has been resolved.
SR-D48010 · Issue 514982
Unit testing validation relaxed for external input strategy
Resolved in Pega Version 8.3.2
When trying to test a strategy, the testing transform had to exist in the same ruleset/version as the strategy or it would not resolve. Investigation showed that because the artifacts were in a different ruleset and version build on top of the application that the testing strategy belongs to, validation failed because it was using the platform based ruleset validation. This was a missed use case, and has been resolved by relaxing the validation for external input strategy so it does not take into account the ruleset and version of it. This same change has been applied for referenced data transforms.
SR-D51353 · Issue 516912
Unit testing validation relaxed for external input strategy
Resolved in Pega Version 8.3.2
When trying to test a strategy, the testing transform had to exist in the same ruleset/version as the strategy or it would not resolve. Investigation showed that because the artifacts were in a different ruleset and version build on top of the application that the testing strategy belongs to, validation failed because it was using the platform based ruleset validation. This was a missed use case, and has been resolved by relaxing the validation for external input strategy so it does not take into account the ruleset and version of it. This same change has been applied for referenced data transforms.
SR-D66397 · Issue 530331
ADM out-of-sync corrected for multi-datacenter Cassandra cluster
Resolved in Pega Version 8.3.2
After setting up the multi-datacenter configuration for a Cassandra cluster that consisted of six nodes in datacenter 1 and three nodes in datacenter 2, failover testing revealed a mismatch in the number of ADM models stored in each datacenter. The mismatch was observed mostly in the number of records present in the "adm_scoringmodel" and "adm_response_commit_log_date_tiered" tables. When Cassandra nodes are down, the other nodes in the cluster will store hints (records to be written) for the down nodes. When these nodes come back online the hints are replayed to those nodes and the data is written. Hints are written for 3 hours, so if a node come back up within 3 hours data is recovered and repairs are not required. The gc_grace_seconds for the above tables that were getting out of sync across the two datacenters was set to zero seconds. The "gc_grace_seconds" attribute is not just used as the time for removal of tombstones, it's also used to set the TTL for records written to the system.hints table. That meant that when the hints were written for the ADM tables for the nodes that were down, they were immediately expired since it was set to 0 and not played back when the terminated nodes restarted and joined the cluster. This has been resolved with this fix for all customers new to this release. Existing customers already on v7.3 or higher will need to complete the local change detailed below:Connect to the Cassandra cluster using cqlsh in the Pega Cassandra distribution and then run ALTER TABLE adm_commitlog.adm_response_commit_log_date_tiered WITH gc_grace_seconds = 86400; to change the relevant setting from zero to the equivalent of one day - the same length of time that the data in the table lives for. This will mean that any hints written can still be used to replay data to another node while the data itself is alive. It does also mean, however, that, given a constant load, a day's worth of expired ADM event data in the table will always be present on the disk, as the tombstones can now not be cleaned up for a day.
SR-D60268 · Issue 521464
Performance and thread-handling improvements for SSA
Resolved in Pega Version 8.3.2
The SecureRandom class was used internally by SSAExecutionContext indirectly via UUID generation. Because this exhibited performance issues on some Linux environments, UUID has been replaced with static AtomicLong. In addition, a memory leak was observed when the strategy (SSA) execution resulted in an exception, and the strategy template has been modified to gracefully shutdown the VM under all circumstances. Thread-safety measures have also been tuned to be more fine-grained to reduce the potential thread contention that was seen while borrowing the SSAInterpreter object from SSAInterpreterPool.
SR-D60121 · Issue 525491
All interactions visible in "Latest Responses" for ADM
Resolved in Pega Version 8.3.2
Interactions were not visible in the "Latest Responses" section of the Model Management landing page for Adaptive models if the requests were stored on multi-node systems. This was due to the system fetching the Last Responses using a list of server nodes built using a version of deployment.getClusterState(tools) which gave only the ADM nodes list instead of all the ADM nodes both client and server. To resolve this, the system has been updated to use ServiceRegistry to get all of the data flow nodes and get the last responses from each of them.