Hello all,

Thank you very much for your replies. I actually uses Matthias' suggestion
and it worked.

Thanks,
Nick

On Thu, Nov 5, 2015 at 4:47 AM, Matthias J. Sax <[email protected]> wrote:

> You need to specify a cyclic dataflow:
>
> > builder.setSpout("spout", ...);
> > builder.setBolt("bolt1",
> ...).directGrouping("spout").directGrouping("bolt1");
> > builder.setBolt("bolt2, ...).directGropuing("bolt1");
>
> You can use the default stream.
>
> -Matthias
>
> On 11/04/2015 09:06 PM, Nathan Leung wrote:
> > You would need:
> >
> > Spout-1 --(direct-grouping)--> Bolt-1 --(direct-grouping)--> Bolt-2
> > --(direct grouping, non-default stream)--> Bolt 1
> >
> > Task IDs are numbered from 0 (pretty sure it's 0, if not it's from 1)
> > for each component.  Therefore Spout 1 task IDs are 0 to (n-1), Bolt 1
> > task IDs are 0 to (m-1), etc where n = number of Spout 1 tasks and m =
> > number of Bolt 1 tasks.
> >
> > If you want a cyclic graph in your topology I believe you have to use a
> > non-default stream.
> >
> > On Wed, Nov 4, 2015 at 2:22 PM, Nick R. Katsipoulakis
> > <[email protected] <mailto:[email protected]>> wrote:
> >
> >     Hello,
> >
> >     I have a question regarding direct streaming and sending a tuple
> >     from a downstream node to its upstream node. To be more precise, let
> >     us assume we have the following topology:
> >
> >     Spout-1 --(direct-grouping)--> Bolt-1 --(direct-grouping)--> Bolt-2
> >
> >     Can Bolt-2 call emitDirect() and send a tuple back to Bolt-1 (by
> >     getting the task-id from tuple.getSourceTask() )? If not, is it
> >     because of the general architecture of Storm?
> >
> >     Thanks,
> >     Nick
> >
> >
>
>


-- 
Nick R. Katsipoulakis,
Department of Computer Science
University of Pittsburgh

Reply via email to