SR-D39956 · Issue 511636
Corrected method IF use with shortcut function
Resolved in Pega Version 8.3.1
After upgrade, method IF was not working as expected when used in an expression like "@if(.totalorders_120days>0,(.remakeorders_120days/.totalorders_120days)<0.3,false)". This was caused by a missed use case for the combination of an exception-generating function in combination with a shortcut function (i.e. ternary, and, or), and has been resolved.
SR-D41730 · Issue 508142
TTL value correctly passed for Adaptive Event store
Resolved in Pega Version 8.3.1
The ADM table was growing due to the Time to Live (TTL) for entries in the Adaptive Event Store not being propagated to clean them out. This was traced to the TTL field on the data flow not being checked, causing the TTL value to be supplied as zero so there was no expiration. This has been corrected.
SR-D47713 · Issue 511969
Corrected issue with strategy framework testing
Resolved in Pega Version 8.3.1
Issues were seen in creating a dataflow to test the strategy framework shipped with the Pega Marketing product. It was not possible to use a data transform to test this strategy because it is in the shipped PegaMKTEngine ruleset. Investigation showed the value of appliedToClass was retrieved from "pyRunOnDataFlowClassName" instead of from the running strategy, and this has been resolved.
SR-D37945 · Issue 506798
Server node cache refresh will use remote execution timeout
Resolved in Pega Version 8.3.1
A campaign was failing due to VBD remote ping timeout with a stacktrace that indicated a StageException. Investigation showed that when the cluster is heavily loaded, calls to the remote execution API could time out. If this occurred when the VBD client was refreshing its cache of VBD server nodes, then the insert failed and the error was propagated up the calling data flow. To resolve this, the system will use the remote execution timeout when refreshing node cache, extend the timeout to 60 seconds, and ensure timeouts are retried during inserts.
SR-D38415 · Issue 507994
Resolved Transfer to Queue duplicate assignments
Resolved in Pega Version 8.3.1
The Transfer to a Queue option was creating duplicate assignments after accepting the Chat. Once the chat was accepted, an instance was created\maintained in both Assign-Workbasket and Assign-Worklist tables. This happened after adding the "Transfers" queue to an Agent; if that queue was not added, the transfer to a queue option gave an error to the Agent receiving\accepting the chat. The Work-.ReassignDefaults activity is an extension that was customized in the Pega-DecisionManager ruleset for a certain use case in revision management. The customization is no longer required and has become redundant and has therefore been removed to resolve this issue.
SR-D43470 · Issue 511439
Adjusted generated file cleanup to resolve class not found issues
Resolved in Pega Version 8.3.1
After upgrade, attempting to run a new multi-channel campaign failed with an error citing "java.lang.NoClassDefFoundError: com/pegarules/generated/testgen/Rule_Decision_DDF_Data_Decision_Request_Customer_DF_ProcessOffer_Action". This was traced to a temporary directory with generated java files that was cleaned up before the restart, leading to the .Class file for the DF_ProcessOffer not being present when needed. This has been resolved by adjusting the cleanup of the files so they are not removed too early.
SR-D44159 · Issue 512447
Refined Change Request creation logic
Resolved in Pega Version 8.3.1
Once a Change Request was terminated/closed with the X button available on the UI, the Change Request was created but could not be opened from the Report Manager landing page. Investigation showed that a change request created from the new revision button or create change request in the refine selection screen did not yet have pyLabel available in the CR because the assignment would not be submitted at this stage (Refine selection screen). Once the assignment was submitted, the pyLabel value would be committed to the database and be available in the change request. To resolve this, the CR creation rules have been modified and will set the pylabel value.
SR-D41616 · Issue 509808
Corrected Cassandra startup error related to client authentication
Resolved in Pega Version 8.3.1
During provisioning, Cassandra nodes in PegaDDSTier failed to join the cluster and the error "Exception (org.apache.cassandra.exceptions.ConfigurationException) encountered during startup: Invalid yaml. Those properties [truststore_password, truststore] are not valid" was generated. Investigation showed that the recent addition of support for client authentication using the settings "dnode/cassandra_client_encryption/truststore" and "dnode/cassandra_client_encryption/truststore_password" resulted in nulls being set cassandra.yaml if the new parameters were not given values. To resolve this, truststore and truststore_password will not be added to cassandra.yaml when they are not set in prconfig or system settings.
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-D41207 · Issue 512086
Fallover stategy added to chat routing to keep event processor running
Resolved in Pega Version 8.3.2
Chats were becoming stuck in the queue and end users were not able to connect with the customer service representative. An excessive number of queued items were observed in a Queue Processor named "EventProcessor". This was traced to the setting "Browse from the offset" having been removed because of a retention policy. This resulted in "Browse from the end of the stream" being used instead even though browse should start from the earliest known offset. To resolve this, Stream Producer will be cached based on topic, and Stream consumer will fall over to an earliest strategy in case the requested offset isn't found so the event queue will be handled in a timely manner.