sorry,in last e-mail i mean storm is jstorm..

------------------ ???????? ------------------
??????: "??";<[email protected]>;
????????: 2015??12??17??(??????) ????0:11
??????: "dev"<[email protected]>; 

????: ?????? How to get number of tasks from TopologyContext



Hi Cody
I think in storm,it's no task. eg: when i use setTaskNumber(4), set 
paralism_hint 2 . the list of tasks only [2,3]




------------------ ???????? ------------------
??????: "Cody Innowhere";<[email protected]>;
????????: 2015??12??17??(??????) ????0:01
??????: "dev"<[email protected]>; 

????: Re: How to get number of tasks from TopologyContext



Hi Matthias,
In JStorm, there's no executor, so
TopologyContext.getComponentTasks(<componentId>)
returns task ids within this component.

As to your questions:
- do tasks actually have an ID?
*[Cody] *in JStorm, each task has an taskId of Integer type. Usually, each
component is assigned a range of task id's (the num is equal to component
parallelism)

 - if yes, can those IDs be retrieved?
*[Cody] *Yes, use TopologyContext.getThisTaskId() method

 - can we get at least the number of tasks per operator somehow?
*[Cody] *Yes, use TopologyContext.getComponentTasks(<componentId>).size()

 - should the above method get renamed?
*[Cody] *We may discuss this when merging phase starts. You may refer to
related jira later.


On Wed, Dec 16, 2015 at 11:37 PM, Matthias J. Sax <[email protected]> wrote:

> Thanks for your feedback.
>
> Turns out, the question was related to JStorm... I guess this should be
> consider for the merge process.
>
> > sorry , i find i use the jstorm. storm is no problem. but when i use
> jstorm??this problem arise
>
> -Matthias
>
>
> On 12/16/2015 03:25 PM, Arun Iyer wrote:
> > TopologyContext.getComponentTasks returns the list of task ids for the
> component (not executor ids).
> >
> > You could just try printing the output of getComponentTasks in the
> prepare method after doing 'setNumTasks?? (with  task > parallelism)
> > while building the topology. Worked for me.
> >
> > - Arun
> >
> >
> >
> > On 12/16/15, 6:21 PM, "Matthias J. Sax" <[email protected]> wrote:
> >
> >> Hi,
> >>
> >> today, the above question appeared on SO:
> >>
> https://stackoverflow.com/questions/34309189/how-to-get-the-task-number-and-id-not-the-executor-in-storm
> >>
> >> The problem is, that
> >>
> >> TopologyContext.getComponentTasks(<componentId>)
> >>
> >> returns the IDs of the executors (and not the tasks). The name of the
> >> method is not chooses very good -- I guess this dates back to the time
> >> before the separation of tasks and executors...
> >>
> >> My question is now:
> >>
> >> - do tasks actually have an ID?
> >> - if yes, can those IDs be retrieved?
> >> - can we get at least the number of tasks per operator somehow?
> >> - should the above method get renamed?
> >>
> >> As the number of tasks is fix, one could of course collect this
> >> information an pass it via the Config to
> >> StormSubmitter.submitTopology(...). However, this is quite a
> work-around.
> >>
> >> Please let me know what you think about it.
> >>
> >>
> >> -Matthias
> >>
>
>

Reply via email to