Step the Event Stream Processor

Stepping the Event Stream Processor lets you to advance the state of the platform when the system is paused.

You can advance a stream by a single step or multiple steps. To produce substantial changes, a stream may require multiple steps, so users may allow the system to run an entire transaction or run until the streams are quiesced. Users may also choose to run the system again, which runs normally until another breakpoint is triggered.

Automatic Single-Stepping

Automatic stepping does not function with breakpoints or bad row exceptions; any encountered breakpoints or bad row exceptions will be reported to Studio, but this will not stop the stepping.

The first auto step command, step trans, steps to the end of a transaction. This command does at least one common step, and then continues stepping as long as the stream stays in the COMPUTE location. The stream stops when it moves into the PUT or BAD_ROW location and allows users to examine the transaction's effect before committing or discarding it. Call step trans repeatedly to step past transactions.

If the execution blocks the INPUT or OUTPUT location for longer than 0.3 second, step trans stops.

The other auto-stepping commands are related to the concept of quiescence (running the streams until they have processed all the available input). These commands are:

Command Function
step quiesce stream {streamName} Automatically steps the stream and all of its direct and indirect descendants until they are quiesced (until all their input queues are empty).
step quiesce downstream {streamName} Only the stream's descendants are stepped: the stream itself is not. Use this command to clear out the descendant streams' input queues. When the argument stream produces its output, the progression of the data through the descendant streams can be easily traced.
step quiesce from base Automatically steps all derived (nonsource) streams until their input queues are empty. Use this command to clean out the queues of derived streams before processing an inconsistent record through the source stream.
Note: If you exit esp_client or Studio while the Event Stream Processor is paused, it remains paused. When you connect with another instance of esp_client, it still remains paused. If you leave the Event Stream Processor in trace mode, it remains in that mode: if it encounters a breakpoint or exception, it pauses, and stops all processing until unpaused.

You can stop the Event Stream Processor from esp_client even when it is paused. The Event Stream Processor is unpaused, trace mode is disabled, and the platform stops and exits as usual.

Disabling trace mode also unpauses the platform.