[ 
https://issues.apache.org/jira/browse/STORM-789?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14502982#comment-14502982
 ] 

ASF GitHub Bot commented on STORM-789:
--------------------------------------

Github user dan-blanchard commented on a diff in the pull request:

    https://github.com/apache/storm/pull/525#discussion_r28696363
  
    --- Diff: storm-core/src/jvm/backtype/storm/task/TopologyContext.java ---
    @@ -154,6 +154,18 @@ public Fields getThisOutputFields(String streamId) {
         }
     
         /**
    +     * Gets the declared output fields for the specified stream id for the 
component
    +     * this task is a part of.
    +     */
    +    public Map<String, List<String>> getThisOutputFieldsForStreams() {
    +           Map<String, List<String>> streamToFields = new HashMap<String, 
List<String>>();
    +           for (String stream : this.getThisStreams()) {
    +                   streamToFields.put(stream, 
this.getThisOutputFields(stream).toList());
    --- End diff --
    
    I'm not a big Java guy, so what's the appropriate spacing here?  Tabs or 
spaces? And how many?


> Enhance topology context sent to multi-lang bolts and spouts
> ------------------------------------------------------------
>
>                 Key: STORM-789
>                 URL: https://issues.apache.org/jira/browse/STORM-789
>             Project: Apache Storm
>          Issue Type: Improvement
>            Reporter: Dan Blanchard
>            Assignee: Dan Blanchard
>
> I'm about to submit a pull request that adds a lot more contextual 
> information to the "context" JSON dictionary that gets sent to multi-lang 
> bolts and spouts as part of their initial handshake.  These additions will 
> make is so non-JVM developers have access to the sources, targets, and field 
> names for their bolts and spouts.  
> We will add support for this in streamparse (one of the more popular Python 
> libraries for Storm) as soon as this gets merged in.
> Here are the details of what I've added:
> -  componentid: the component ID for this task, so you don't have to look it 
> up
>                 in "task->component" by "taskid"
> -  streams: a list of all of the streams for this task
> -  stream->outputfields:  a mapping from stream names to output fields for 
> that
>                           stream
> -  stream->target->grouping: a mapping from stream names to the targets for 
> this
>                              task to the kind of grouping they use.
> -  sources->grouping:  a mapping from the component IDs of the sources to 
> their
>                        grouping.
> Note on groupings:  groupings are either represented as a string (e.g., 
> "SHUFFLE") or a list of strings for field groupings.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to