[
https://issues.apache.org/jira/browse/APEXMALHAR-2106?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15311597#comment-15311597
]
ASF GitHub Bot commented on APEXMALHAR-2106:
--------------------------------------------
Github user ilganeli commented on a diff in the pull request:
https://github.com/apache/incubator-apex-malhar/pull/307#discussion_r65474494
--- Diff:
library/src/main/java/com/datatorrent/lib/stream/StreamMerger.java ---
@@ -41,35 +47,57 @@
@Stateless
public class StreamMerger<K> extends BaseOperator
{
- /**
- * Data input port 1.
- */
- public final transient DefaultInputPort<K> data1 = new
DefaultInputPort<K>()
+ private int portCount = 0;
+ private final transient ArrayList<DefaultInputPort<K>> ports = new
ArrayList<>(portCount);
--- End diff --
A great question, was in the process of doing so. Short answer is it fails
wonderfully:
```
java.lang.IllegalArgumentException: Port is not associated to any operator
in the DAG: com.datatorrent.lib.stream.StreamMerger$1@3b084709
at
com.datatorrent.stram.plan.logical.LogicalPlan.assertGetPortMeta(LogicalPlan.java:1501)
at
com.datatorrent.stram.plan.logical.LogicalPlan.access$1000(LogicalPlan.java:119)
```
The relevant question is thus is there any way to define ports in this way,
e.g. an array of ports, such that the DAG is aware of the ports?
> Support merging multiple streams with StreamMerger
> ---------------------------------------------------
>
> Key: APEXMALHAR-2106
> URL: https://issues.apache.org/jira/browse/APEXMALHAR-2106
> Project: Apache Apex Malhar
> Issue Type: New Feature
> Reporter: Ilya Ganelin
> Assignee: Ilya Ganelin
>
> To properly implement the Flatten transformation (and other Stream
> combination operations), Apex must support merging data from multiple
> sources. The StreamMerger operator can be improved to merge multiple streams,
> rather than just the two streams it can handle in the present implementation.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)