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.
---