streamparse: 3.0.0.dev3 Bolt.spec(config={}) is not passed to storm_conf when using `sparse run`

class WordCount(Topology):
    word_spout = WordSpout.spec(
        config={"foo":"bar"}
    )
class WordSpout(Bolt):
    def initialize(self, storm_conf, context):
        foo_var = storm_conf.get('foo')
        ...

foo_var is None.

How did you pass config to storm in your previous code (2.x.x) ShellBolt?

About this issue

  • Original URL
  • State: closed
  • Created 8 years ago
  • Comments: 16 (12 by maintainers)

Most upvoted comments

One thing I should note is that you can now specify a Topology.config attribute with settings you want to apply to your whole topology, and that appears to work fine with sparse run. Component-specific settings are still waiting on upstream.

https://issues.apache.org/jira/browse/STORM-1870 - Patch is ready for reviewing. It will probably be in next release of Storm 😃 whoo!

I’ve made issue at Apache Storm https://issues.apache.org/jira/browse/STORM-1870 But it is not finished, since it doesn’t support complete functionality (Passing dictionaries) + it throws WARNINGS.

I’ve also made pullrequest https://github.com/Parsely/streamparse/pull/266 whenever the flux will be ready.


However if you really need this, I was able to include custom java classes inside streamparse project, with this functionality. If you want to know more, please write me and email and we can discuss it further, but it includes custom version of streamparse code + java libraries inside project, which is a lot of fuss for ā€œstandardā€ user. However it is doable, since we need it in production.