Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make shell component serialisation plugable #697

Open
wants to merge 417 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
417 commits
Select commit Hold shift + click to select a range
d6e9e63
0.9.0-wip3
Nov 14, 2012
f2d5b39
multischeme.
Nov 30, 2012
aad7f4b
version bump.
Dec 4, 2012
fecf760
fix typo.
Dec 4, 2012
f5bdc72
Completely refactor Rolling Count example
miguno Dec 7, 2012
09081b3
Move code back to src/jvm and place unit tests into test/jvm
miguno Dec 11, 2012
6f6d0d3
Merge pull request #27 from miguno/master
nathanmarz Dec 11, 2012
6c326ba
fix project.clj
Dec 12, 2012
bde6ab2
fix project.clj
Dec 12, 2012
2f90eff
SlidingWindowCounterTest: add missing @Test annotation to unit test
miguno Dec 12, 2012
9b8ab8d
Merge pull request #28 from miguno/master
nathanmarz Dec 12, 2012
470ec47
multischeme related changes
Dec 5, 2012
df380fb
version bump 0.9.0-wip5
Dec 18, 2012
6e8c93d
removed twitter repositories from project clj
Jan 9, 2013
c40f0ce
bumped version, upgraded storm dep
Jan 11, 2013
1e00589
include offset when logging about committing offsets
Jan 11, 2013
4d2c4da
Merge branch 'master' of github.com:nathanmarz/storm-contrib
Jan 11, 2013
b33e706
update to storm 0.8.2
trevor Jan 15, 2013
adacdbe
un-complect wiping zeroes and wiping a slot
Jan 17, 2013
c6b0be4
wipe zeros *before* wiping slots, ensure that zeros get reported.
Jan 17, 2013
08f779f
lein2 upgrade
Jan 11, 2013
af2a1fc
fixed bug. lastmeta data may be null in certain cases
Jan 22, 2013
cb5e958
Merge pull request #33 from MichaelBlume/emit-zeros
nathanmarz Jan 22, 2013
78a0a99
Merge pull request #32 from trevor/master
nathanmarz Jan 24, 2013
860a43b
fixed concurrent modification exception
Jan 29, 2013
7ed3d7c
bump 0.9.0-wip15e-scala292
Jan 29, 2013
2aaada7
fix unit tests to match new behavior
Feb 1, 2013
76d788c
fixed possible issue where getValueAndReset is called before refreshP…
Feb 11, 2013
ddc3e8e
bump 0.9.0-wip15f-scala292
Feb 11, 2013
2d78e68
track average and max kafka request latencies
Feb 16, 2013
2cc81a1
0.9.0-wip16-scala292
Feb 16, 2013
4bf2de5
forgot MaxMetric
Feb 16, 2013
47ce0ae
fixed NPE in MaxMetric. bumped version 0.9.0-wip16a-scala292
Feb 16, 2013
8f8f48c
upgrade to lein 2
nathanmarz Feb 18, 2013
e57bf89
Merge pull request #35 from MichaelBlume/fix-tests
nathanmarz Feb 19, 2013
205bc63
add api latency metric to KafkaSpout
Apr 24, 2013
61be2a0
bump 0.9.0-wip16b-scala292
Apr 24, 2013
b15d695
Initial commit
wurstmeister May 9, 2013
5f58bb3
clone of nathanmarz/storm-contrib/storm-kafka
May 9, 2013
d55df55
updated kafka installation instructions
wurstmeister May 9, 2013
38bde87
fixed kafka 0.8 compilation issues
wurstmeister May 9, 2013
005cd8b
updated zookeeper dynamic broker detection
wurstmeister May 11, 2013
e20dcd1
extracted Coordinator to avoid code duplication
wurstmeister May 11, 2013
4024080
updated dynamic leader detection
wurstmeister May 16, 2013
9abf90b
added test for reading partition leader
wurstmeister May 16, 2013
f63b276
moved to maven
wurstmeister May 16, 2013
f808892
Refactored emitters
wurstmeister May 22, 2013
ddee896
added support for client id
wurstmeister May 22, 2013
83f183b
Update to kafka 0.8 beta1
wurstmeister Jul 31, 2013
20a1167
fixed formatting
wurstmeister Jul 31, 2013
90a8260
fixed formatting
wurstmeister Jul 31, 2013
2878910
updated to storm 0.9.0-wip21
wurstmeister Jul 31, 2013
3d05866
added license
wurstmeister Aug 17, 2013
d3eda03
fixed infinite loop in KafkaSpout
wurstmeister Aug 17, 2013
572a577
renamed GlobalPartitionId
wurstmeister Aug 18, 2013
d0d7acb
removed JDK 7 dependency
wurstmeister Aug 21, 2013
e7b4c09
ISSUE-36: equals() should compare against input parameter
miguno Aug 27, 2013
e345091
storm-starter actually uses leiningen 2.0 now
miguno Aug 27, 2013
0b7acda
RankableObjectWithFields implements Serializable to fix NotSerializab…
Aug 29, 2013
f26f597
Explain how to run unit tests with Maven
Aug 29, 2013
ab44424
README: Use 120 chars max per line
Aug 29, 2013
84b2eba
Reformat README
Aug 29, 2013
84cb035
Update README
Aug 29, 2013
a9cb8cb
Restructure README and add more docs
Aug 29, 2013
cfaf58a
Update main heading
Aug 29, 2013
5a92564
Add table of contents
Aug 29, 2013
f64b52a
Update Getting Started section
Aug 29, 2013
b9c57eb
PR-3: Add step-by-step instructions for the curious but unsavvy
Aug 29, 2013
2ace708
AbstractRankerBolt: use log level DEBUG instead INFO so that the bolt…
Aug 29, 2013
8e1e3cc
RollingCountBolt: use log level DEBUG to tell that a tick tuple was r…
Aug 29, 2013
4c714d0
Rankings: make updateWith() thread-safe
Aug 29, 2013
3b2db7c
project.clj: add test dependencies of the Java code in storm-starter
Aug 29, 2013
a51c824
Reformat Java code to use 2 instead of 4 spaces (to match Clojure style)
Aug 29, 2013
6d56eae
Rankings: add pruneZeroCounts() method
Aug 29, 2013
eca7460
Rankings: use private helper method to implement getRankings() for cl…
Aug 29, 2013
fa424ae
project.clj: add explicit :test-paths setting so that Java IDE's can
Aug 29, 2013
d596aaf
TotalRankingsBolt: prune zero count rankings after each emit
Aug 29, 2013
d5ec8f4
RankableObjectWithFields: update Java docs
Aug 29, 2013
8b40120
SlidingWindowCounter: update Java docs
Aug 29, 2013
1a19f3d
Shell component serialisation is now plugable with a default JSON ser…
Oct 1, 2013
a7918f8
Moved ShellBolt, ShellProcess and ShellSpout back to their old packag…
Oct 7, 2013
3701bfc
Added comments to the new multilang objects.
Oct 7, 2013
3219a4f
multilang serializer is not handled by stormConf. Renamed Emission an…
Oct 8, 2013
ee0678c
multilang serializer is now handled by stormConf. Renamed Emission an…
Oct 8, 2013
06aad3f
Merge branch 'master' of github.com:jsgilmore/storm
Oct 8, 2013
18c0ce7
Merge branch 'master' of https://github.com/nathanmarz/storm
Oct 9, 2013
52948f5
Added newline to NoOutputException
Oct 9, 2013
63afb94
Re-added need_task_ids option
Oct 9, 2013
32b3718
Added json msg and id parsing.
Oct 9, 2013
5699373
Allow for null boltMsg when polling
Oct 9, 2013
16ba0c7
Removed pure whitespace changes of project.clj and bootstrap.clj
Oct 10, 2013
dfbd045
Added some trailing whitespace to Config.java
Oct 10, 2013
84360dd
Merge branch 'master' of https://github.com/nathanmarz/storm
Nov 7, 2013
8030423
Merge branch 'master' of https://github.com/nathanmarz/storm
Nov 18, 2013
5ba0938
Added debugging info to ShellSpout and pulled in latest upstream master.
Nov 18, 2013
8cde550
Added null check for anchors. Log a component's error stream under it…
Nov 29, 2013
8012cd7
align with version 0.9.0.1, clean up m2-pom.xml and align with projec…
ptgoetz Dec 7, 2013
7a688ae
Merge pull request #50 from ptgoetz/master
miguno Dec 7, 2013
4c40384
m2-pom.xml: fix indentation / whitespace
Dec 7, 2013
1bcefbb
README: Add instructions for IntelliJ IDEA
Dec 7, 2013
b77057c
updated to final version of kafka 0.8
wurstmeister Dec 7, 2013
74f01ec
Re-add Google Guava to maven deps config (accidentally removed in com…
Dec 7, 2013
651ccfe
AbstractRankerBolt: Emit defensive copy of Rankings object
Dec 7, 2013
8364b51
README: Fix instructions for IntelliJ IDEA
Dec 7, 2013
e7f7fea
updated to final version of storm 0.9.0
wurstmeister Dec 22, 2013
5da87f3
preparing for tag
wurstmeister Dec 22, 2013
a4c30eb
added distribution management
wurstmeister Dec 22, 2013
a440ecc
updated group id, prepared for tag
wurstmeister Dec 22, 2013
d35a6ee
updated readme
wurstmeister Dec 22, 2013
e8f54d6
use consistent formatting
wurstmeister Dec 22, 2013
da18bd8
removed empty statement
wurstmeister Dec 22, 2013
735b87f
Renamed HostPort to Broker
wurstmeister Dec 25, 2013
b5de86e
Use partition id in zk path
wurstmeister Jan 5, 2014
4b6e9bc
added changelog
wurstmeister Jan 5, 2014
6b29f8f
Update README.md
wurstmeister Jan 7, 2014
95c60db
Added error handling for fetch request
wurstmeister Jan 11, 2014
80005ba
added OFFSET_METADATA_TOO_LARGE error
wurstmeister Jan 12, 2014
4738718
Do not rely on spaces to separate command args
Jan 12, 2014
193301f
URL-decode special chars in topo ids
Jan 12, 2014
c7c7087
supervisor logs worker command with '-quoted tokens
Jan 12, 2014
6d1ad6a
Do not encode,decode topo id when launching worker
Jan 12, 2014
c970225
Support *.worker.childopts as list or as string
Jan 15, 2014
2fb66fa
Add test for handling *.worker.childopts in supvor
Jan 15, 2014
5b764cd
calculate start offset for new topology consistently
wurstmeister Jan 18, 2014
f789091
calculate start offset for new topology consistently
wurstmeister Jan 18, 2014
0a6203a
fix trident keep refreshing partition issue
EdisonXu Jan 22, 2014
48f6840
Merge pull request #13 from EdisonXu/fix1
wurstmeister Jan 26, 2014
aabcd58
use guava equals/hashCode
wurstmeister Jan 26, 2014
e9357ec
added profile for scala 2.10 build
wurstmeister Feb 2, 2014
9368ac4
Fix for launching jar when some JVM opts are specified, now corrected…
yerenkow Feb 3, 2014
a63c0d9
STORM-70 Upgrade to ZK-3.4.5 and curator-1.3.3
Feb 7, 2014
37aa116
preparing for tag
wurstmeister Feb 8, 2014
312408a
update to next snapshot version
wurstmeister Feb 8, 2014
ffc7a81
[maven-release-plugin] prepare release v0.9.1-incubating
ptgoetz Feb 10, 2014
9fe14b4
[maven-release-plugin] prepare for next development iteration
ptgoetz Feb 10, 2014
b6b1f1d
Make the spout's Storm Metrics' time bucket size configurable via
Feb 11, 2014
fe1a9da
remove Nathan Marz reference from NOTICE file
ptgoetz Feb 15, 2014
254ec13
undo last commit
ptgoetz Feb 15, 2014
db61558
remove Yahoo copyright from NOTICE files
anfeng Feb 15, 2014
0210941
STORM-241: making thrift binary chunk size configurable
supercargo Feb 16, 2014
2a0757a
Update pom.xml
dschiavu Feb 17, 2014
d2a0bcd
NOTICE revised regarding Yahoo contribution
anfeng Feb 18, 2014
15c4890
STORM-186 fix float secs to millis long convertion
xiaokang Feb 18, 2014
71119ce
Merge pull request #22 from dschiavu/configurable-metrics-emit-interval
wurstmeister Feb 19, 2014
f8afa99
use metricsTimeBucketSizeInSecs consistently
wurstmeister Feb 19, 2014
7ed8879
STORM-186 convert 1000 to long to avoid int overflow
xiaokang Feb 20, 2014
4de85c8
Added support for reading message key
wurstmeister Feb 23, 2014
bd0cc45
fixed tests
wurstmeister Feb 23, 2014
c695c1b
Add a new per-partition and total metric, "earliestTimeOffset". Rename
Feb 20, 2014
f573001
preparing for tag
wurstmeister Feb 26, 2014
118cec4
added Kafka bolt
wurstmeister Feb 26, 2014
09ae973
Merge pull request #25 from dschiavu/new-metric-earliest-offset
wurstmeister Feb 27, 2014
6c82685
Work around ZOOKEEPER-1476 by prefering IPv4 by default.
Feb 28, 2014
70174de
Moving chunk size out of configuration into private constant
supercargo Feb 28, 2014
bb8562f
whitespace cleanup
supercargo Feb 28, 2014
d9d637e
Fixing an integer overflow in getSleepTimeMs(). This should fix the
Mar 3, 2014
286cae3
update CHANGELOG
ptgoetz Mar 5, 2014
8ab7806
Merge branch 'STORM-186' of https://github.com/xiaokang/incubator-storm
ptgoetz Mar 5, 2014
3aa6d7b
update CHANGELOG
ptgoetz Mar 5, 2014
f1d7fca
merge storm-starter into examples
ptgoetz Mar 5, 2014
8a2760d
add examples/storm-starter to build
ptgoetz Mar 5, 2014
a99d9c1
add Apache license headers
ptgoetz Mar 5, 2014
651df24
update README to reflect incorporation into storm source tree
ptgoetz Mar 5, 2014
017d73f
remove nathan from notices
nathanmarz Mar 11, 2014
2787660
Merge pull request #1 from apache/master
anfeng Mar 11, 2014
b25eeed
update commons-io dependency version
ptgoetz Mar 11, 2014
b7b3d8a
Merge branch 'storm-70-zk-upgrade' of github.com:revans2/incubator-storm
ptgoetz Mar 12, 2014
da8489a
Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/incu…
ptgoetz Mar 12, 2014
9f613f1
Merge branch 'master' of github.com:anfeng/incubator-storm
ptgoetz Mar 12, 2014
bb13cce
fix spacing issue
ptgoetz Mar 12, 2014
82a754a
add examples source code to binary distribution
ptgoetz Mar 12, 2014
1e6e080
update changelog
ptgoetz Mar 12, 2014
a2be522
update changelog
ptgoetz Mar 12, 2014
6959401
adds capability to remove keys from memorymapstate (maintains proper …
nathanmarz Mar 17, 2014
9796b52
Merge remote-tracking branch 'original/master' into merge
ptgoetz Mar 18, 2014
c62d2e1
update storm to 0.9.1-incubating
ptgoetz Mar 18, 2014
e1b6fb4
Merge branch 'master' of github.com:wurstmeister/storm-kafka-0.8-plus
ptgoetz Mar 18, 2014
20d04da
Merge branch 'master' of https://github.com/apache/incubator-storm in…
supercargo Mar 18, 2014
84f04c3
align with 0.9.2-incubating dependencies.
ptgoetz Mar 18, 2014
77dddca
Merge branch 'storm-starter'
ptgoetz Mar 20, 2014
20b3496
update README with new committers
ptgoetz Mar 20, 2014
d5dee0e
STORM-259
ptgoetz Mar 20, 2014
28e65a8
Fix race condition in Time.java
apetresc Mar 21, 2014
813952a
Bolt with whitespace in name can be viewed in ui
nielsbasjes Mar 24, 2014
dbf8faf
storm-starter: fix base directory path to point to `incubator-storm`
miguno Mar 24, 2014
be8a22b
storm-starter: remove leiningen section because leiningen is not used…
miguno Mar 24, 2014
df687cb
Ensure that no evil chars can be put into the HTML via the the name o…
nielsbasjes Mar 24, 2014
2c636ba
Ensure that also the topology id is encoded/decoded correctly
nielsbasjes Mar 24, 2014
c621a6c
Merge branch 'removable-memory-map-state'
nathanmarz Mar 25, 2014
447fdb0
STORM-263: update to carbonite 1.4.0/kryo 2.21
ptgoetz Mar 26, 2014
2f45866
fixed KafkaSpout partition assignment
wurstmeister Mar 31, 2014
9129536
upgraded storm to 0.9.1
wurstmeister Mar 31, 2014
94c4d4d
STORM-12 Reduce thread usage of Netty transport.
Apr 1, 2014
ae71186
STORM-270 don't package .clj files in release jars.
Apr 3, 2014
93ca654
Update README.md
wurstmeister Apr 3, 2014
0d3b833
STORM-273. Error while running storm topologies on Windows using "sto…
Apr 3, 2014
b30de82
Add STORM-263 to changelog.
Apr 4, 2014
98cfe93
close resources in tests
wurstmeister Apr 5, 2014
9370c5c
updated log messages
wurstmeister Apr 5, 2014
c8c04a6
removed duplicated code
wurstmeister Apr 5, 2014
2c8d3c8
STROM-247: Replace links to github resources in storm script (for Jul…
revans2 Apr 7, 2014
c028856
Merge branch 'master' of https://github.com/sureshms/incubator-storm
revans2 Apr 8, 2014
38ea0ca
STORM-273 updated change log.
revans2 Apr 8, 2014
adab172
Merge branch 'master' of github.com:wurstmeister/storm-kafka-0.8-plus
ptgoetz Apr 9, 2014
8fafbad
Merge branch 'master' of /Users/tgoetz/Projects/apache/../other/storm…
ptgoetz Apr 9, 2014
7d1bf2a
Add storm-kafka as an external module.
ptgoetz Apr 9, 2014
4fbbf72
Merge branch 'no-clj-in-jar' of https://github.com/revans2/incubator-…
revans2 Apr 9, 2014
bde4f88
Added STORM-270 to changelog
revans2 Apr 9, 2014
a72aafa
update to kafka 0.8.1
ptgoetz Apr 9, 2014
859a2e8
add topic to committed path
ptgoetz Apr 9, 2014
3270dd2
update README
ptgoetz Apr 9, 2014
72dbbee
apply Apache license headers
ptgoetz Apr 9, 2014
fd82382
Merge branch 'STORM-258'
ptgoetz Apr 9, 2014
979fc28
Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/incu…
ptgoetz Apr 9, 2014
eb3ecb3
STORM-258: update changelog
ptgoetz Apr 9, 2014
23f6670
Merge branch 'patch-1' of github.com:apetresc/incubator-storm
ptgoetz Apr 9, 2014
89e2fbb
update CHANGELOG
ptgoetz Apr 9, 2014
6f0f30c
add JIRA # to changelog entry
ptgoetz Apr 9, 2014
1fc5c42
Merge branch 'readme-base-dir' of github.com:miguno/incubator-storm
ptgoetz Apr 9, 2014
253eac7
Merge branch 'readme-leiningen' of github.com:miguno/incubator-storm
ptgoetz Apr 9, 2014
3cf3f55
Merge branch 'master' of github.com:nielsbasjes/incubator-storm
ptgoetz Apr 9, 2014
2cd8f99
updated my e-mail address
Apr 10, 2014
9da324e
clean up fd after reading config
Apr 10, 2014
8a9c635
Remove too verbose comment about JAR_JVM_OPTS being array
yerenkow Apr 11, 2014
de46f71
Merge branch 'fix-storm-shlex' of https://github.com/yerenkow/incubat…
revans2 Apr 11, 2014
6c1af3e
Updated Changelog STORM-196: When JVM_OPTS are set, storm jar fails t…
revans2 Apr 11, 2014
0138928
Merge branch 'fix-readconfig-fd-leak' of github.com:d2r/incubator-storm
ptgoetz Apr 11, 2014
1be3d0f
STORM-281: update changelog
ptgoetz Apr 11, 2014
3e7abfc
Merge branch 'netty-thread-usage' of github.com:revans2/incubator-storm
ptgoetz Apr 11, 2014
1a0b46e
STORM-12: update changelog
ptgoetz Apr 11, 2014
c4ff804
Treat command line "-c" option number config values as such (STORM-173)
Apr 11, 2014
bf557f8
Merge remote-tracking branch 'apache/master' into d2r-worker-lancher-…
Apr 15, 2014
061acf1
escape single quotes when logging
Apr 15, 2014
3a03746
Fixed storm-core shade plugin config
bbaugher Apr 15, 2014
442d8e7
Move command line options values introspection logic to
Apr 16, 2014
a0e2aa6
Parse command line options as JSON values (STORM-173)
Apr 17, 2014
b81ba5e
Clean up imports (STORM-173)
Apr 17, 2014
6cc9bfe
Added STORM-285 to Changelog.
revans2 Apr 18, 2014
ae728f8
add storm-kafka files to the binary distribution
ptgoetz Apr 21, 2014
98265c7
Merge branch 'storm-kafka-module'
ptgoetz Apr 21, 2014
c4ea0ca
STORM-208: update changelog
ptgoetz Apr 21, 2014
5eeb74f
STORM-288 : Fixes version spelling
Apr 18, 2014
81704e3
Merge branch 'master' of https://github.com/srinivasgumdelli/incubato…
revans2 Apr 22, 2014
8f39495
Added STORM-288: Fixes version spelling in pom.xml
revans2 Apr 22, 2014
02b3efd
Merge branch 'd2r-worker-lancher-args' of https://github.com/d2r/incu…
revans2 Apr 22, 2014
93612f5
Updated Changelog for STORM-194
revans2 Apr 22, 2014
3b518d1
Merge branch 'STORM-173-storm-number-config-value' of https://github.…
revans2 Apr 22, 2014
6a08855
Updated Changelog for STORM-173
revans2 Apr 22, 2014
46c02be
Merge branch 'master' of https://github.com/nathanmarz/storm
Apr 23, 2014
f5f41a0
Merge branch 'master' of github.com:jsgilmore/incubator-storm
Apr 23, 2014
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
20 changes: 20 additions & 0 deletions CHANGELOG.md
@@ -1,3 +1,23 @@
## 0.9.2-incubating (unreleased)
* STORM-173: Treat command line "-c" option number config values as such
* STORM-194: Support list of strings in *.worker.childopts, handle spaces
* STORM-288: Fixes version spelling in pom.xml
* STORM-208: Add storm-kafka as an external module
* STORM-285: Fix storm-core shade plugin config
* STORM-12: reduce thread usage of netty transport
* STORM-281: fix and issue with config parsing that could lead to leaking file descriptors
* STORM-196: When JVM_OPTS are set, storm jar fails to detect storm.jar from environment
* STORM-260: Fix a potential race condition with simulated time in Storm's unit tests
* STORM-258: Update commons-io version to 2.4
* STORM-270: don't package .clj files in release jars.
* STORM-273: Error while running storm topologies on Windows using "storm jar"
* STROM-247: Replace links to github resources in storm script
* STORM-263: Update Kryo version to 2.21+
* STORM-187: Fix Netty error "java.lang.IllegalArgumentException: timeout value is negative"
* STORM-186: fix float secs to millis long convertion
* STORM-70: Upgrade to ZK-3.4.5 and curator-1.3.3
* STORM-146: Unit test regression when storm is compiled with 3.4.5 zookeeper

## 0.9.1-incubating
* Fix to prevent Nimbus from hanging if random data is sent to nimbus thrift port
* Improved support for running on Windows platforms
Expand Down
9 changes: 2 additions & 7 deletions NOTICE
@@ -1,13 +1,8 @@
Apache Storm
Copyright 2013 The Apache Software Foundation
Copyright 2014 The Apache Software Foundation

This product includes software developed at
The Apache Software Foundation (http://www.apache.org/).


This product includes software developed by Nathan Marz
Copyright 2011-2013 Nathan Marz


This product includes software developed by Yahoo! Inc. (www.yahoo.com)
Copyright © 2012-2013 Yahoo! Inc. All rights reserved.
Copyright (c) 2012-2014 Yahoo! Inc.
5 changes: 3 additions & 2 deletions README.markdown
Expand Up @@ -71,6 +71,9 @@ under the License.
* Flip Kromer ([@mrflip](https://github.com/mrflip))
* David Lao ([@davidlao2k](https://github.com/davidlao2k))
* P. Taylor Goetz ([@ptgoetz](https://github.com/ptgoetz))
* Derek Dagit ([@d2r](https://github.com/d2r))
* Robert Evans ([@revans2](https://github.com/revans2))


## Contributors

Expand Down Expand Up @@ -105,9 +108,7 @@ under the License.
* Bryan Peterson ([@Lazyshot](https://github.com/Lazyshot))
* Sam Ritchie ([@sritchie](https://github.com/sritchie))
* Stuart Anderson ([@emblem](https://github.com/emblem))
* Robert Evans ([@revans2](https://github.com/revans2))
* Lorcan Coyle ([@lorcan](https://github.com/lorcan))
* Derek Dagit ([@d2r](https://github.com/d2r))
* Andrew Olson ([@noslowerdna](https://github.com/noslowerdna))
* Gavin Li ([@lyogavin](https://github.com/lyogavin))
* Tudor Scurtu ([@tscurtu](https://github.com/tscurtu))
Expand Down
19 changes: 10 additions & 9 deletions bin/storm
Expand Up @@ -22,6 +22,7 @@ import random
import subprocess as sub
import getopt
import re
import shlex

def identity(x):
return x
Expand All @@ -45,7 +46,7 @@ if (not os.path.isfile(USER_CONF_DIR + "/storm.yaml")):
USER_CONF_DIR = CLUSTER_CONF_DIR
CONFIG_OPTS = []
CONFFILE = ""
JAR_JVM_OPTS = os.getenv('STORM_JAR_JVM_OPTS', '')
JAR_JVM_OPTS = shlex.split(os.getenv('STORM_JAR_JVM_OPTS', ''))


def get_config_opts():
Expand Down Expand Up @@ -147,15 +148,15 @@ def jar(jarfile, klass, *args):
Runs the main method of class with the specified arguments.
The storm jars and configs in ~/.storm are put on the classpath.
The process is configured so that StormSubmitter
(http://nathanmarz.github.com/storm/doc/backtype/storm/StormSubmitter.html)
(http://storm.incubator.apache.org/apidocs/backtype/storm/StormSubmitter.html)
will upload the jar at topology-jar-path when the topology is submitted.
"""
exec_storm_class(
klass,
jvmtype="-client",
extrajars=[jarfile, USER_CONF_DIR, STORM_DIR + "/bin"],
args=args,
jvmopts=[' '.join(filter(None, [JAR_JVM_OPTS, "-Dstorm.jar=" + jarfile]))])
jvmopts=JAR_JVM_OPTS + ["-Dstorm.jar=" + jarfile])

def kill(*args):
"""Syntax: [storm kill topology-name [-w wait-time-secs]]
Expand Down Expand Up @@ -262,7 +263,7 @@ def nimbus(klass="backtype.storm.daemon.nimbus"):
supervision with a tool like daemontools or monit.

See Setting up a Storm cluster for more information.
(https://github.com/nathanmarz/storm/wiki/Setting-up-a-Storm-cluster)
(http://storm.incubator.apache.org/documentation/Setting-up-a-Storm-cluster)
"""
cppaths = [CLUSTER_CONF_DIR]
jvmopts = parse_args(confvalue("nimbus.childopts", cppaths)) + [
Expand All @@ -282,7 +283,7 @@ def supervisor(klass="backtype.storm.daemon.supervisor"):
under supervision with a tool like daemontools or monit.

See Setting up a Storm cluster for more information.
(https://github.com/nathanmarz/storm/wiki/Setting-up-a-Storm-cluster)
(http://storm.incubator.apache.org/documentation/Setting-up-a-Storm-cluster)
"""
cppaths = [CLUSTER_CONF_DIR]
jvmopts = parse_args(confvalue("supervisor.childopts", cppaths)) + [
Expand All @@ -303,7 +304,7 @@ def ui():
should be run under supervision with a tool like daemontools or monit.

See Setting up a Storm cluster for more information.
(https://github.com/nathanmarz/storm/wiki/Setting-up-a-Storm-cluster)
(http://storm.incubator.apache.org/documentation/Setting-up-a-Storm-cluster)
"""
cppaths = [CLUSTER_CONF_DIR]
jvmopts = parse_args(confvalue("ui.childopts", cppaths)) + [
Expand All @@ -324,7 +325,7 @@ def logviewer():
tool like daemontools or monit.

See Setting up a Storm cluster for more information.
(https://github.com/nathanmarz/storm/wiki/Setting-up-a-Storm-cluster)
(http://storm.incubator.apache.org/documentation/Setting-up-a-Storm-cluster)
"""
cppaths = [CLUSTER_CONF_DIR]
jvmopts = parse_args(confvalue("logviewer.childopts", cppaths)) + [
Expand All @@ -344,7 +345,7 @@ def drpc():
with a tool like daemontools or monit.

See Distributed RPC for more information.
(https://github.com/nathanmarz/storm/wiki/Distributed-RPC)
(http://storm.incubator.apache.org/documentation/Distributed-RPC)
"""
cppaths = [CLUSTER_CONF_DIR]
jvmopts = parse_args(confvalue("drpc.childopts", cppaths)) + [
Expand Down Expand Up @@ -392,7 +393,7 @@ def print_commands():
"""Print all client commands and link to documentation"""
print "Commands:\n\t", "\n\t".join(sorted(COMMANDS.keys()))
print "\nHelp:", "\n\thelp", "\n\thelp <command>"
print "\nDocumentation for the storm client can be found at https://github.com/nathanmarz/storm/wiki/Command-line-client\n"
print "\nDocumentation for the storm client can be found at http://storm.incubator.apache.org/documentation/Command-line-client.html\n"
print "Configs can be overridden using one or more -c flags, e.g. \"storm list -c nimbus.host=nimbus.mycompany.com\"\n"

def print_usage(command=None):
Expand Down
1 change: 1 addition & 0 deletions conf/defaults.yaml
Expand Up @@ -35,6 +35,7 @@ storm.zookeeper.retry.intervalceiling.millis: 30000
storm.cluster.mode: "distributed" # can be distributed or local
storm.local.mode.zmq: false
storm.thrift.transport: "backtype.storm.security.auth.SimpleTransportPlugin"
storm.multilang.serializer: "backtype.storm.multilang.JsonSerializer"
storm.messaging.transport: "backtype.storm.messaging.netty.Context"

### nimbus.* configs are for the master
Expand Down
108 changes: 108 additions & 0 deletions examples/storm-starter/README.markdown
@@ -0,0 +1,108 @@
# Example Storm Topologies

Learn to use Storm!

---

Table of Contents

* <a href="#getting-started">Getting started</a>
* <a href="#maven">Using storm-starter with Maven</a>
* <a href="#intellij-idea">Using storm-starter with IntelliJ IDEA</a>

---


<a name="getting-started"></a>

# Getting started

## Prerequisites

First, you need `java` and `git` installed and in your user's `PATH`. Also, two of the examples in storm-starter
require Python and Ruby.

Next, make sure you have the storm-starter code available on your machine. Git/GitHub beginners may want to use the
following command to download the latest storm-starter code and change to the new directory that contains the downloaded
code.

$ git clone git://github.com/apache/incubator-storm.git && cd incubator-storm/examples/storm-starter


## storm-starter overview

storm-starter contains a variety of examples of using Storm. If this is your first time working with Storm, check out
these topologies first:

1. [ExclamationTopology](src/jvm/storm/starter/ExclamationTopology.java): Basic topology written in all Java
2. [WordCountTopology](src/jvm/storm/starter/WordCountTopology.java): Basic topology that makes use of multilang by
implementing one bolt in Python
3. [ReachTopology](src/jvm/storm/starter/ReachTopology.java): Example of complex DRPC on top of Storm

After you have familiarized yourself with these topologies, take a look at the other topopologies in
[src/jvm/storm/starter/](src/jvm/storm/starter/) such as [RollingTopWords](src/jvm/storm/starter/RollingTopWords.java)
for more advanced implementations.

If you want to learn more about how Storm works, please head over to the
[Storm project page](http://storm.incubator.apache.org).


<a name="maven"></a>

# Using storm-starter with Maven

## Install Maven

Install [Maven](http://maven.apache.org/) (preferably version 3.x) by following
the [Maven installation instructions](http://maven.apache.org/download.cgi).


## Running topologies with Maven

storm-starter topologies can be run with the maven-exec-plugin. For example, to
compile and run `WordCountTopology` in local mode, use the command:

$ mvn compile exec:java -Dstorm.topology=storm.starter.WordCountTopology

You can also run clojure topologies with Maven:

$ mvn compile exec:java -Dstorm.topology=storm.starter.clj.word_count

## Packaging storm-starter for use on a Storm cluster

You can package a jar suitable for submitting to a Storm cluster with the command:

$ mvn package

This will package your code and all the non-Storm dependencies into a single "uberjar" at the path
`target/storm-starter-{version}-jar-with-dependencies.jar`.


## Running unit tests

Use the following Maven command to run the unit tests that ship with storm-starter. Unfortunately `lein test` does not
yet run the included unit tests.

$ mvn test


<a name="intellij-idea"></a>

# Using storm-starter with IntelliJ IDEA

## Importing storm-starter as a project in IDEA

The following instructions will import storm-starter as a new project in IntelliJ IDEA.


* Open _File > Import Project..._ and navigate to the storm-starter directory of your storm clone (e.g.
`~/git/incubator-storm/examples/storm-starter`).
* Select _Import project from external model_, select "Maven", and click _Next_.
* In the following screen, enable the checkbox _Import Maven projects automatically_. Leave all other values at their
defaults. Click _Next_.
* Click _Next_ on the following screen about selecting Maven projects to import.
* Select the JDK to be used by IDEA for storm-starter, then click _Next_.
* At the time of this writing you should use JDK 6.
* It is strongly recommended to use Sun/Oracle JDK 6 rather than OpenJDK 6.
* You may now optionally change the name of the project in IDEA. The default name suggested by IDEA is "storm-starter".
Click _Finish_ once you are done.
24 changes: 24 additions & 0 deletions examples/storm-starter/multilang/resources/splitsentence.py
@@ -0,0 +1,24 @@
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
import storm

class SplitSentenceBolt(storm.BasicBolt):
def process(self, tup):
words = tup.values[0].split(" ")
for word in words:
storm.emit([word])

SplitSentenceBolt().run()
26 changes: 26 additions & 0 deletions examples/storm-starter/multilang/resources/splitsentence.rb
@@ -0,0 +1,26 @@
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
require "./storm"

class SplitSentenceBolt < Storm::Bolt
def process(tup)
tup.values[0].split(" ").each do |word|
emit([word])
end
end
end

SplitSentenceBolt.new.run