StepCount (bw_engine_stepcount)

The engine stepCount property determines the number of activities that are executed by an engine thread, without any interruption, before yielding the engine thread to another job that is ready in the job pool.

Exceptions to stepCount can occur when the job in a transaction, is blocked, or is waiting for an asynchronous activity to complete. When a job is in a transaction, the thread is not released until the transaction is complete, even when the stepCount is exceeded.

However, if a job is blocked or waiting for an asynchronous activity to complete, the thread can be yielded even when the stepCount has not been reached.

The default value of this property is -1. When the value is set to -1, the engine can determine the necessary stepCount value. A low stepCount value may degrade engine performance due to frequent thread switches depending on the scenario. Given the nature of the jobs and the number of activities it includes, a high step count value may result in uneven execution of available jobs.

Please refer the below formats to set the stepcount value on different container platforms:

Docker:
docker run -e BW_ENGINE_STEPCOUNT=10 -p <Host_ApplicationPortToExpose>:<Container_ApplicationPort>
<ApplicationImage>
Kubernetes:
env:
	-name: BW_ENGINE_STEPCOUNT
	 value: 10
Pivotal Platform:
env:
	BW_LOGLEVEL: ERROR
	BW_ENGINE_STEPCOUNT: 10