[
https://issues.apache.org/jira/browse/STORM-101?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Rick Kellogg updated STORM-101:
-------------------------------
Component/s: storm-core
> Merging two streams with the same fields in a different order results in the
> wrong values being returned when getting tuple values by index
> -------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: STORM-101
> URL: https://issues.apache.org/jira/browse/STORM-101
> Project: Apache Storm
> Issue Type: Bug
> Components: storm-core
> Reporter: James Xu
> Priority: Minor
>
> https://github.com/nathanmarz/storm/issues/688
> Given the following topology (Constant is a function that simply injects a
> constant into the tuple):
> TridentTopology topology = new TridentTopology();
> List<Object> tuple = Arrays.<Object>asList(10);
> Stream stream = topology.newStream("spout", new FixedBatchSpout(new
> Fields("trigger"), 1, tuple));
> Stream s1 = stream
> .each(new Constant("StringVal"), new Fields("string"))
> .each(new Constant(20), new Fields("number"));
> Stream s2 = stream
> .each(new Constant(20), new Fields("number"))
> .each(new Constant("StringVal"), new Fields("string"));
> topology.merge(s1, s2).each(new Fields("string"), new Debug());
> What I expect to be output:
> DEBUG: [StringVal]
> DEBUG: [StringVal]
> What is actually output:
> DEBUG: [StringVal]
> DEBUG: [20]
> I expect the field selector for the input to Debug to pick the first field
> for the tuple from s1, and the second field for the tuple from s2.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)