Github user mattf-horton commented on the issue:

    https://github.com/apache/incubator-metron/pull/395
  
    Recording here for posterity, in case anyone is interested:  I asked on the 
storm user list:
    ```
    I’ve been unable to find this in the Storm documentation:
    How does the Storm topology loader identify if a Bolt is a “windowing” 
bolt and therefore 
    needs to be wrapped with WindowedBoltExecutor?  Does it look at:
    1.      Whether the Bolt’s getComponentConfiguration() method presents 
some or all of the 
    windowing-related configuration parameters, as BaseWindowedBolt does;
    2.      Or does it use reflection to determine if the Bolt implements 
IWindowedBolt interface;
    3.      Or does the Bolt actually have to extend BaseWindowedBolt?
    There are indications in the docs that it is #2, but I wasn’t able to 
become certain.  
    Please clarify.
    Thanks,
    --Matt
    ```
    and got confirmation that it is #2 only:
    ```
    From: Arthur Maciejewicz <[email protected]>
    You must satisfy the IWindowedBolt and IComponent interfaces. 
BaseWindowedBolt is there for 
    your convenience. When constructing the topology, there is a setBolt method 
on TopologyBuilder 
    specifically for bolts satisfying the IWindowedBolt interface. It will be 
wrapped with a 
    WindowedBoltExecutor by the TopologyBuilder for you. You can implement 
windows yourself by 
    returning a HashMap from getComponentConfiguration in your custom bolt (as 
long as they also 
    implement the IWindowedBolt interface).
    ```



---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---

Reply via email to