Overriding operator properties
When you submit a job, you may override the properties of the operators in your application bundle file. For example, if you plan to fuse a set operators into the same PE, you might need to change the partitionIsolation setting to false for all operators that you plan to fuse into the PE.
Before you begin
To use a submission-time parameter that affects how operators are fused, you must specify a fusion scheme other than legacy.
About this task
You can specify the operator properties from the Teracloud® Streams
Console or the streamtool submitjob
command. However, if you use the
streamtool submitjob
command, you must use a job configuration
overlay file to specify these settings. A job configuration overlay file is optional
if you use Teracloud® Streams
Console.
- nameSpec
- You can specify the name of a single operator or you can specify a group of operators:
- To override the properties of a single operator, specify the name of an existing operator instance in the application after UDP transformations.
- To override the properties of a group of operators, use an asterisk (*) as a wildcard character.
You can specify 0 or more wildcard characters. For example:
- Enter myParallelRegion.myOperator[*] to specify all of the channels of the parallel region
- Enter MyComposite.firstComposite.* to specify all of the operators in the composite operator
Tip: Wildcard characters can be especially helpful when operators with related concerns are named following a particular pattern. For example, if the application has severalFileSink
operators that are all used for debugging, including "Debug" in their name allows you to easy control all of their behavior at the same time.
- restartable
- If you specify true, the operator can be restarted. For example, the
operator might need to be restarted after a PE crashes because of a runtime
error. If you plan to put this operator in a PE with other operators, this setting must be the
same for all of the operators in the PE.
You should also make the operator relocatable to improve the likelihood that the operator can be successfully restarted.
If you specify false, the application will not perform well in a highly available environment.
- relocatable
- If you specify true, the operator can be relocated. For example,
relocating the operator to a different host can help with load balancing or enable recovery in a
highly available environment.
If you specify false, the application will not perform well in a highly available environment.
- partitionIsolation
- Specify true if the operator requires an isolated PE, which means that the operator is the only operator in the PE. No other operators are in the PE.
- hostIsolation
- Specify true if the operator requires an isolated host, which means that only the PE that contains the specified operator is located on the host. No other PEs are deployed on the host.
- declaredHost
- If you specify a declared host for the operator, the PE that contains this
operator is placed on the specified host at run time.
In addition, if you specify a declared host, the operator cannot uses resources from a host pool and cannot be included in a host pool.
Important: Using this setting is not recommended. If the host where the operator is deployed is removed or crashes, the operator will stop. If you need your application to be more resilient and you have more than one host where the operator can run, you should include the operator in a host pool.