Controlling warning limits for variable sizes of process and service flows

There are some settings in configuration files that define warning limits for the variable sizes of process and service flows. If a warning limit is reached or exceeded for any of the settings, a warning message is logged in the SystemOut.log file. You can, however, override the default warning limits for the settings by adding the settings to the 100Custom.xml file. By overriding the default warning limits of the settings, you can find the process and activity, or service flow and step name, which is causing large arrays or large values or that is using a large number of variables. This enables you to troubleshoot out-of-memory exceptions on servers.

About this task

In addition to warning messages, the following data is also logged to the SystemOut.log file for the variables of process and service flows:

  • For process flows:
    • The specified warning limit
    • The actual variable size
    • The process activity
    • The process instance
  • For service flows:
    • The specified warning limit
    • The actual variable size
    • The step name
    • The service name
The following settings specify warning limits for the variable sizes of process and service flows:
  • twobject-array-length-warning-limit

    Specifies a warning limit for an array of variables or an array of properties in a complex BO. The warning limit check is performed whenever a new element is added to an array. The default warning limit is 10000. To ignore any specified limit wherever it is found, you can specify -1.

  • saved-symbol-table-size
    Specifies a warning limit for the execution context, which includes the variable table. The warning limit check is performed whenever an activity is completed or process (or a step is completed in a service flow). However, a warning limit check is only performed after the execution context is saved. The setting accepts the following child element:
    • soft

      Specifies the warning limit that causes a warning message to be issued. The default value is -1, which causes any specified limit to be ignored wherever it is found.

If you want to change the warning limit for a setting, you can override the value of the warning limit by adding or updating the setting in your 100Custom.xml files. For example, to add all of the settings to a 100Custom.xml file, you would add the following elements under the <properties> element and modify the values as needed:

<server>
   <twobject-array-length-warning-limit merge="replace">10000</twobject-array-length-warning-limit>
   <limits>
      <saved-symbol-table-size><soft merge="replace">-1</soft></saved-symbol-table-size>
   </limits>
</server>

For information about the individual 100Custom.xml files that need to be updated and their locations, see Location of 100Custom configuration files.