Details
-
Improvement
-
Status: Open
-
Major
-
Resolution: Unresolved
-
None
-
None
Description
The current AdditionalOutputTagProperty is tagged only on "additional" output IREdges. This implicitly makes the IREdges without this property as "main" outputs.
Rather than relying on this implicit assumption, it may be better to explicitly specify at the IR-level the name of such "main" outputs. This can be achieved by changing the property name to OutputTagProperty and assign a reserved/static property value to the "main" outputs.
The performance loss should be negligible with this change, as the hashCode() of the Java String implementation is cached and can be reused when routing emitted data elements to the OutputCollectors corresponding to the "main" outputs.