Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Question

I'm getting an error that says 'too many new instances created: 503". I'm doing a lot of lookups in this logic element so I think this has something to do with it.

Answer

503 is the number of instances created.

...

hiddentrue

...

The number comes from the application XML config file:

Code Block
<formulaEngine>
    <script>
      <maxInstances>500</maxInstances>
      <timeoutInSec>5</timeoutInSec>      
      <findMaxResults>200</findMaxResults>      
    </script>
  </formulaEngine>

In a shared instance we need to limit the resource usage in a formula. The limit is per script, i.e. formula element, so as a workaround, try to spread out the logic between more elements. 

If you encounter many instances of a Date, you can consider trying these code replacements:

  • api.parseDate(strdate)Date.parse(DATE_FORMAT, strDate)

  • def formatter = new SimpleDateFormat(DATE_FORMAT); formatter.format(date) -> date.format(DATE_FORMAT)

Optimization Segmentation Logics

Note

If you are working with Optimization – segmentation tree, the maximum number of instances is defined within the net.pricefx.formulaengine.optimization.ModelFilterTreesContextReadWrite.NodeSpec parameter:

Code Block
  <maxInstancesOverrides>
    <net.pricefx.formulaengine.optimization.ModelFilterTreesContextReadWrite.NodeSpec
    >100000</net.pricefx.formulaengine.optimization.ModelFilterTreesContextReadWrite.NodeSpec>
  </maxInstancesOverrides>
Info

See also: