Streaming EventFlow Error Input Stream does not catch errors thrown by other parallel regions

Streaming EventFlow Error Input Stream does not catch errors thrown by other parallel regions

book

Article ID: KB0070301

calendar_today

Updated On:

Products

TIBCO Streaming

Description

I have an Error Output Stream in a module inside my main application and an Error Input Stream at the top-level. The error I throw (an EvaluationException) is not being caught by the Error Input Stream as expected.

Two EventFlow modules with the outer and inner relationship illustrated where the Module element has been marked concurrent.

Issue/Introduction

The streams are separated by a region boundary.

Resolution

An Error Input Stream can only catch errors thrown within the same Parallel Region. Otherwise the error is caught by the region's default error handler. In the above example, the Module element is set with " Run this component in a parallel region" property enabled, which is why it has the circle overlay on its tile.

Add an Error Input Stream within the concurrent region to catch exceptions thrown within that region. Note that elements other than Error Output Streams may also throw errors which will also be caught by the available Error Input Stream.

For information on the scope of a concurrent region, see documentation page:
  TIBCO Streaming > StreamBase Admin Guide > Tuning StreamBase Applications > StreamBase Execution Order and Concurrency

For more background on Error Streams, see documentation page:
  TIBCO Streaming > Authoring Guide > Using Streams > Using Error Ports and Error Streams