[ 
https://issues.apache.org/jira/browse/STORM-2689?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Stig Rohde Døssing updated STORM-2689:
--------------------------------------
    Description: 
The storm-kafka-examples and storm-kafka-client-examples projects configure 
their dependencies in a way that makes them difficult to run for a new user. 
The other example projects set up a provided dependency on storm-client, and 
otherwise include all their dependencies in a shaded jar. 

storm-kafka(-client) by default produce jars without several necessary 
dependencies, e.g. the Kafka client libraries. The provided.scope Maven 
parameter was intended to be used to allow users to produce a shaded jar with 
all dependencies, but if provided scope is set to compile, the resulting jar 
will also contain storm-client. This prevents the jar from running on a real 
cluster.

While users can work around this by producing the slim jar and using 
--artifacts when submitting the topology, this is unnecessarily tedious. We 
should just produce a fat jar by default, then mention in the example 
documentation that --artifacts is there for users that want to make slimmer 
jars.

Edit:
This issue now includes simplifying storm-kafka-examples and 
storm-kafka-client-examples in general. The examples demonstrate use of State 
and DRPC when the focus should be on how to use storm-kafka(-client). It also 
causes the modules to have some undesirable dependencies, e.g. they both depend 
on storm-starter. 

  was:
The storm-kafka-examples and storm-kafka-client-examples projects configure 
their dependencies in a way that makes them difficult to run for a new user. 
The other example projects set up a provided dependency on storm-client, and 
otherwise include all their dependencies in a shaded jar. 

storm-kafka(-client) by default produce jars without several necessary 
dependencies, e.g. the Kafka client libraries. The provided.scope Maven 
parameter was intended to be used to allow users to produce a shaded jar with 
all dependencies, but if provided scope is set to compile, the resulting jar 
will also contain storm-client. This prevents the jar from running on a real 
cluster.

While users can work around this by producing the slim jar and using 
--artifacts when submitting the topology, this is unnecessarily tedious. We 
should just produce a fat jar by default, then mention in the example 
documentation that --artifacts is there for users that want to make slimmer 
jars.


> storm-kafka-examples and storm-kafka-client-examples are difficult for new 
> users to run
> ---------------------------------------------------------------------------------------
>
>                 Key: STORM-2689
>                 URL: https://issues.apache.org/jira/browse/STORM-2689
>             Project: Apache Storm
>          Issue Type: Bug
>          Components: examples
>    Affects Versions: 2.0.0, 1.1.1
>            Reporter: Stig Rohde Døssing
>            Assignee: Stig Rohde Døssing
>          Time Spent: 1h 50m
>  Remaining Estimate: 0h
>
> The storm-kafka-examples and storm-kafka-client-examples projects configure 
> their dependencies in a way that makes them difficult to run for a new user. 
> The other example projects set up a provided dependency on storm-client, and 
> otherwise include all their dependencies in a shaded jar. 
> storm-kafka(-client) by default produce jars without several necessary 
> dependencies, e.g. the Kafka client libraries. The provided.scope Maven 
> parameter was intended to be used to allow users to produce a shaded jar with 
> all dependencies, but if provided scope is set to compile, the resulting jar 
> will also contain storm-client. This prevents the jar from running on a real 
> cluster.
> While users can work around this by producing the slim jar and using 
> --artifacts when submitting the topology, this is unnecessarily tedious. We 
> should just produce a fat jar by default, then mention in the example 
> documentation that --artifacts is there for users that want to make slimmer 
> jars.
> Edit:
> This issue now includes simplifying storm-kafka-examples and 
> storm-kafka-client-examples in general. The examples demonstrate use of State 
> and DRPC when the focus should be on how to use storm-kafka(-client). It also 
> causes the modules to have some undesirable dependencies, e.g. they both 
> depend on storm-starter. 



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to