SR-B76526 · Issue 326533
Backwards compatibility enhancement for @when() validation
Resolved in Pega Version 7.3.1
After upgrade, a Strategy rule which referred a 'when' with the syntax @when(isOnlineApplication) was failing with design time validation saying that when rule was not found in the SR and instead it had to find it in the Customer/Applies to class. For the @when() issue, the root cause was that the validation context of @when() was switched from Applies-To class to the Step Page class due to a change in the core engine. The behavior of expression parsing for when rule calls was changed in release 7.2. It used to take the Apply-to class to validate the existence of the rule, but not it is taking the Step Page class. And Strategy rule doesn't push/pop stackframe due to performance reasons, thus StepPage on stack for Strategy is always the same as Primary page. For greater compatibility, the system will set the PageContextClass to the Apply To class so the expression parser can validate the setup which is expected at run-time.
INC-195387 · Issue 681673
HandleResponses updated for use with optimized campaign
Resolved in Pega Version 8.7
After updating from Pega 8.4, responses were not processed in the pxHandleResponses Data flow if the "pyCampaignOptimization" flag was set to true. This was traced to a missed use case for an optimized campaign, and has been resolved by modifying the condition in HandleResponses.
SR-B70652 · Issue 325760
Read operations updated for Datastax 3.1.x use
Resolved in Pega Version 7.3.1
In the 3.1.x Datastax driver reads are no longer retried by default. Therefore, the read operations have now been explicitly marked as idempotent to force the Datastax driver to retry timed out reads.
INC-156818 · Issue 628465
Materialization uses time limit boundary for query
Resolved in Pega Version 8.4.5
After turning on Materialization for pyIHSummary and OfferOutcomesForPast45Days datasets, an SQL query was taking an excessive amount of time and causing multiple alerts in the logs. Investigation traced the issue to database partitioning, specifically that running a query where the pyOutcomeTime range spanned multiple partitions was causing the indexes for all partitions in the range to be opened. To resolve this, the query has been updated with a DSS to support a partition size of min(pxOutcomeTime) to limit the time range to querying day by day, or hour by hour, or any other chronology unit specified. If there are no records for the current limit, then it will look at the next partition. This should prevent the query from needing to open more than 1 or 2 partitions.
INC-158813 · Issue 629484
Updated report handling for simulations using database output
Resolved in Pega Version 8.4.5
When running a simulation with a database table as the output destination, the pxObjClass property was not populating with a value in the results. This caused sub-reports to not be populated with data. Investigation showed that issue happened when the simulation output destination database table was inferred as an external table due to not having an exposed column for pzinskey. To resolve this, the pxObjClass and pxCreateDateTime properties, which were added to simulation output destination tables for compatibility with Report browser, will not be added to those tables when they are created. Instead, to address compatibility issues of simulation output destination classes with Report browse in the Customer Decision Hub, the pyDefaultSummaryReport has been brought up into the Data-Decision-StrategyExecution-ResultOutput class from the @baseclass.
INC-197530 · Issue 686027
Value Finder updated for use with external Cassandra nodes
Resolved in Pega Version 8.7
Attempting to use the Value Finder feature resulted in the error "Running Simulation is not possible because the required services are not available. Contact your System Administrator to enable the data flow and decisioning data store services." Analysis traced this to a check which identifies whether there is more than one internal node available for CDH/ DSS node. Since there were only external nodes available in this scenario and no internal nodes, the method returned false and returned the error when the CDH / VF page was launched. To resolve this, the check has been modified to allow for external Cassandra.
SR-B51204 · Issue 309685
Cassandra enhancement to retrieve multiple records and use runinparallel
Resolved in Pega Version 7.3.1
An enhancement has been added to allow the Cassandra Connector GET operation to return multiple rows by querying on clustering keys and/or secondary index. In addition, an issue with Connect-Cassandra not supporting run-in-parallel execution mode has been resolved to allow a result list from list operation to be called from pyoutputpage or primary page.
SR-B64066 · Issue 313310
Cassandra enhancement to retrieve multiple records and use runinparallel
Resolved in Pega Version 7.3.1
An enhancement has been added to allow the Cassandra Connector GET operation to return multiple rows by querying on clustering keys and/or secondary index. In addition, an issue with Connect-Cassandra not supporting run-in-parallel execution mode has been resolved to allow a result list from list operation to be called from pyoutputpage or primary page.
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.
SR-D37945 · Issue 506799
Server node cache refresh will use remote execution timeout
Resolved in Pega Version 8.2.4
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.