Skip to main content

         This documentation site is for previous versions. Visit our new documentation site for current releases.      

This content has been archived and is no longer being updated.

Links may not function; however, this content may be relevant to outdated versions of the product.

Optimized strategy execution engine compatibility: known issues and fixes

Updated on September 10, 2021

Understand how upgrading from Pega Plaform™ versions prior to 8.1 to version 8.1 and beyond might affect your decision strategies.

Prior to Pega Platform version 8.1, decision strategies processed all computations methodically, copying over all page properties from one shape to another on the strategy canvas. In the case of complex strategies that contain sophisticated logic with multiple propositions, this behavior could cause performance issues as a result of prolonged processing times.

To address that, starting from Pega Platform version 8.1, the Strategy rules use the optimized strategy execution engine to improve their processing speed. The engine optimizes the strategy processing time by avoiding unnecessary computations, such as needless copying of page properties. In addition, the engine can improve the strategy logic without physically moving the shapes on the strategy canvas, for example, by automatically filtering unused properties before applying computations. Therefore, you might experience different strategy behavior after an upgrade, when switching to the optimized strategy mode. For example, your strategies might produce different results.

Investigate the following list to discover the potential changes in the strategy behavior that you might experience so that you can react to them accordingly.

Observed behavior

Ability to select the Primary page from the Entities section when configuring single case test runs

In version 7.4, when configuring a single case test run for multi-level strategies, the top-level strategy does not display the Primary page as an available entity for testing, even if the Sub Strategy is configured to run in the context of the Primary.Customer page.

New behavior

In version 8.4, you can select Primary can for single case test runs while in the optimized mode.

Correct type conversion in Data Join and Exclusion conditions

In a Data Join or Exclusion shape in which the condition compares a double property with a lower-precision property (such as an integer), the unified expression type inherits from the right-hand expression. The right-hand expression might be of the lower precision type and cause the Data Join to incorrectly match such value as 1.2 as equal to integer value 1. This behavior remains a known issue in Pega Platform versions 8.1, 8.2, and 8.3.

New behavior

In version 8.4, for strategies running in the optimized mode, if both expression sides are of numerical type, then the unified expression inherits from the more precise type.

Validation errors when assigning values to a Page property

In Pega Platform versions prior to 8.4, you can assign values to a Page property through a Set Property shape.

New behavior

In version 8.4, Pega Platform displays a validation error when you incorrectly assign a value to a property of type Page in the Set Property shape.

Strategy validation bans name conflicts between strategy shapes and page and classes records

Prior to version 8.4, you can save a strategy in which a Pages & Classes entry name conflicts with a shape name or an Embedded Strategy shape variable alias.

New behavior

Starting from 8.4, a validation error prevents saving a strategy in which a Pages & Classes entry name conflicts with a shape name or an Embedded Strategy shape variable alias.

Rule resolution is successful in multi-level external strategies that are running in the optimized mode

In version 8.3, rule resolution fails if a data flow references a multi-level external strategy with different applies to classes, as demonstrated in the following sample scenario:

  • Data Flow A (applies to class X) calls Strategy B
  • Strategy B (applies to class X) calls Strategy C
  • Strategy C (applies to class Y) calls Strategy D
  • Strategy D (applies to class Y) calls Proposition Filter D
  • Proposition Filter D (applies to class Y)

New behavior

Starting from version 8.3.1, rule resolution no longer fails for such scenarios.

Strategies correctly recognize shapes as optimized on the canvas

In Pega Platform versions 8.1 and 8.2, in a scenario in which a Sub Strategy and Set Property shapes are connected to the Results shape, and you enable strategy optimization, the Set Property does not show as optimized.

New behavior

In version 8.3 and beyond, after turning on strategy optimization, all optimized shapes show as such on the strategy canvas.

Prompt to correct Interaction History fields no longer appears when Interaction History is disabled in the Proposition Import shape

Consider the following scenario for Pega Platform version 8.2:

  1. On the strategy canvas, in the Proposition Data shape, select Enable interaction history.
  2. Don't select any property.
  3. Disable the Enable interaction history checkbox.
  4. Confirm your settings.

In this scenario, a prompt is displayed to correct the shape fields, even though you disabled Interaction History.

New behavior

In Pega Platform versions 8.3 and beyond, there is no field validation, irrespective of whether you selected Enable interaction history.

Consistent declare expression behavior

In Pega Platform versions prior to 8.3, the strategy Test Run panel triggers declare expressions regardless of the declare expression dynamic system setting of the data flow.

New behavior

Decision strategies do not trigger declare expressions in the strategy logic when the strategy runs a single test run, batch test run or through the Actions > Run dialog window. 

Converting from double to decimal in DSMClipboardPage in alignment with the Pega Platform

In version 7.4, when converting a value from double to decimal and then summing up that value with another decimal (for example, 5.2 + 5), you might get results such as 10.199999999999999289457264239899814128875732421875, instead of 10.2.

New behavior

To eliminate that behavior, the DsmClipboardPage behavior was changed in versions 7.3.1 and 8.1 and later to align with the Pega Platform clipboard page method of converting property values from double to decimal.

Strategies always set pxInteractionID

In version 7.4, decision strategies that contain a Group By shape do not always set the pxInteractionID property, causing downstream components, such as the Adaptive Model, to fail when referenced in data flows.

New behavior

In version 8.1 and later, the Group By shape was changed to create pages with default properties (for example, pxInteractionID).

Strategy Results always reference the context of the corresponding strategy

In version 7.4, if a strategy that is referenced in the Embedded Strategy shape does not have external input, all SR pages that correspond to that strategy have the context of the top-level page.

New behavior

Starting from version 8.1, each Strategy Results (SR) page in multi-level strategies references the context of the corresponding strategy.

Ability to successfully run strategies that have expressions in Switch shapes

In version 7.4, the Switch shape that contains an expression might produce incorrect results. In version 8.1 and beyond, such expressions as Primary.Date_of_Birth+"T000000.000 GMT" in Switch shapes generate validation errors.

New behavior

In version 8.1 an beyond, expressions in Switch shapes don't generate validation errors.

The Group By shape no longer adds extra digits after aggregation

The Group By shape adds extra digits when converting a decimal property value to a double value and then performing a sum operation. For example, a Group By shape might produce 10.434000000000001 instead of the expected 10.434.

New behavior

This behavior was fixed in optimized strategies in version 8.1.

The value of pySubjectType can have up to 255 characters

In version 7.4, the pySubjectType property can store names that have a maximum length of 32 characters.

New behavior

In version 8.1, the maximum length was increased to 255 characters. As a result, the value of pyComputeSegmentLogicForShape might return different results in comparison with version 7.4.

New validation steps prevent shapes from running multiple times when referenced from a nested context

Consider the following sample scenario for Pega Platform 7.4 and 8.1:

  1. In a strategy, add an Iteration shape and set that shape to iterate ten times and output all results.
  2. Connect the Iteration shape to the Results shape.
  3. Add Embedded Strategy "A" that iterates over the Iteration shape outputs. 
  4. Connect the Embedded Strategy shape to the Results shape.
  5. Add an Embedded Strategy "B" shape within Embedded Strategy "A". 
  6. Configure Embedded Strategy "B" to iterate over the Iteration shape.
  7. Confirm your settings and run the strategy.

In this scenario, the strategy produces 210 results instead of the expected 110 (10 from the Iteration shape and 100 from the Embedded Strategy shapes).

New behavior

In version 8.2 and beyond, extra validations do not allow shapes within an Embedded Strategy shape to reference shapes outside of the context.


  • Previous topic No models are displayed on the Adaptive Models Reporting landing page
  • Next topic Optimizing strategies with allow list functions

Have a question? Get answers now.

Visit the Support Center to ask questions, engage in discussions, share ideas, and help others.

Did you find this content helpful?

Want to help us improve this content?

We'd prefer it if you saw us at our best. is not optimized for Internet Explorer. For the optimal experience, please use:

Close Deprecation Notice
Contact us