Git Push Summary
Repository: storm Updated Tags: refs/tags/v0.10.0 [created] 64f9778fe
[2/3] storm git commit: Revert "[maven-release-plugin] prepare release v0.10.0"
Revert "[maven-release-plugin] prepare release v0.10.0" This reverts commit e0c71e6e9aec210dcb39ae78f43d286e31dc3681. Project: http://git-wip-us.apache.org/repos/asf/storm/repo Commit: http://git-wip-us.apache.org/repos/asf/storm/commit/8db2936e Tree: http://git-wip-us.apache.org/repos/asf/storm/tree/8db2936e Diff: http://git-wip-us.apache.org/repos/asf/storm/diff/8db2936e Branch: refs/heads/0.10.x-branch Commit: 8db2936e251a57b70754960a13ed7c93cca9861a Parents: 92fe211 Author: P. Taylor GoetzAuthored: Fri Sep 11 15:40:47 2015 -0400 Committer: P. Taylor Goetz Committed: Fri Sep 11 15:40:47 2015 -0400 -- examples/storm-starter/pom.xml | 2 +- external/flux/flux-core/pom.xml | 2 +- external/flux/flux-examples/pom.xml | 2 +- external/flux/flux-wrappers/pom.xml | 2 +- external/flux/pom.xml| 2 +- external/storm-eventhubs/pom.xml | 2 +- external/storm-hbase/pom.xml | 2 +- external/storm-hdfs/pom.xml | 2 +- external/storm-hive/pom.xml | 2 +- external/storm-jdbc/pom.xml | 2 +- external/storm-kafka/pom.xml | 2 +- external/storm-redis/pom.xml | 2 +- pom.xml | 4 ++-- storm-buildtools/maven-shade-clojure-transformer/pom.xml | 2 +- storm-buildtools/storm-maven-plugins/pom.xml | 2 +- storm-core/pom.xml | 2 +- storm-dist/binary/pom.xml| 2 +- storm-dist/source/pom.xml| 2 +- storm-multilang/javascript/pom.xml | 2 +- storm-multilang/python/pom.xml | 2 +- storm-multilang/ruby/pom.xml | 2 +- 21 files changed, 22 insertions(+), 22 deletions(-) -- http://git-wip-us.apache.org/repos/asf/storm/blob/8db2936e/examples/storm-starter/pom.xml -- diff --git a/examples/storm-starter/pom.xml b/examples/storm-starter/pom.xml index eccbb29..32ea2e1 100644 --- a/examples/storm-starter/pom.xml +++ b/examples/storm-starter/pom.xml @@ -20,7 +20,7 @@ storm org.apache.storm - 0.10.0 + 0.10.0-beta2-SNAPSHOT ../../pom.xml http://git-wip-us.apache.org/repos/asf/storm/blob/8db2936e/external/flux/flux-core/pom.xml -- diff --git a/external/flux/flux-core/pom.xml b/external/flux/flux-core/pom.xml index e852a2a..0e56bc7 100644 --- a/external/flux/flux-core/pom.xml +++ b/external/flux/flux-core/pom.xml @@ -21,7 +21,7 @@ org.apache.storm flux -0.10.0 +0.10.0-beta2-SNAPSHOT ../pom.xml http://git-wip-us.apache.org/repos/asf/storm/blob/8db2936e/external/flux/flux-examples/pom.xml -- diff --git a/external/flux/flux-examples/pom.xml b/external/flux/flux-examples/pom.xml index d7543ac..9a46b5b 100644 --- a/external/flux/flux-examples/pom.xml +++ b/external/flux/flux-examples/pom.xml @@ -21,7 +21,7 @@ org.apache.storm flux -0.10.0 +0.10.0-beta2-SNAPSHOT ../pom.xml http://git-wip-us.apache.org/repos/asf/storm/blob/8db2936e/external/flux/flux-wrappers/pom.xml -- diff --git a/external/flux/flux-wrappers/pom.xml b/external/flux/flux-wrappers/pom.xml index 6ff542e..995ef79 100644 --- a/external/flux/flux-wrappers/pom.xml +++ b/external/flux/flux-wrappers/pom.xml @@ -21,7 +21,7 @@ org.apache.storm flux -0.10.0 +0.10.0-beta2-SNAPSHOT ../pom.xml http://git-wip-us.apache.org/repos/asf/storm/blob/8db2936e/external/flux/pom.xml -- diff --git a/external/flux/pom.xml b/external/flux/pom.xml index 96840d7..6ab8a92 100644 --- a/external/flux/pom.xml +++ b/external/flux/pom.xml @@ -26,7 +26,7 @@ storm org.apache.storm -0.10.0 +0.10.0-beta2-SNAPSHOT ../../pom.xml http://git-wip-us.apache.org/repos/asf/storm/blob/8db2936e/external/storm-eventhubs/pom.xml -- diff --git a/external/storm-eventhubs/pom.xml b/external/storm-eventhubs/pom.xml index 54c7433..f62b0b2 100755 --- a/external/storm-eventhubs/pom.xml +++ b/external/storm-eventhubs/pom.xml @@ -21,7
[1/3] storm git commit: Revert "[maven-release-plugin] prepare for next development iteration"
Repository: storm Updated Branches: refs/heads/0.10.x-branch e3cc51f88 -> 463af3ba2 Revert "[maven-release-plugin] prepare for next development iteration" This reverts commit e3cc51f88a96726909856e4e0d08fe99cf2235ce. Project: http://git-wip-us.apache.org/repos/asf/storm/repo Commit: http://git-wip-us.apache.org/repos/asf/storm/commit/92fe211c Tree: http://git-wip-us.apache.org/repos/asf/storm/tree/92fe211c Diff: http://git-wip-us.apache.org/repos/asf/storm/diff/92fe211c Branch: refs/heads/0.10.x-branch Commit: 92fe211c447e7b36599f407dc7ce385f63e19374 Parents: e3cc51f Author: P. Taylor GoetzAuthored: Fri Sep 11 15:40:30 2015 -0400 Committer: P. Taylor Goetz Committed: Fri Sep 11 15:40:30 2015 -0400 -- examples/storm-starter/pom.xml | 2 +- external/flux/flux-core/pom.xml | 2 +- external/flux/flux-examples/pom.xml | 2 +- external/flux/flux-wrappers/pom.xml | 2 +- external/flux/pom.xml| 2 +- external/storm-eventhubs/pom.xml | 2 +- external/storm-hbase/pom.xml | 2 +- external/storm-hdfs/pom.xml | 2 +- external/storm-hive/pom.xml | 2 +- external/storm-jdbc/pom.xml | 2 +- external/storm-kafka/pom.xml | 2 +- external/storm-redis/pom.xml | 2 +- pom.xml | 4 ++-- storm-buildtools/maven-shade-clojure-transformer/pom.xml | 2 +- storm-buildtools/storm-maven-plugins/pom.xml | 2 +- storm-core/pom.xml | 2 +- storm-dist/binary/pom.xml| 2 +- storm-dist/source/pom.xml| 2 +- storm-multilang/javascript/pom.xml | 2 +- storm-multilang/python/pom.xml | 2 +- storm-multilang/ruby/pom.xml | 2 +- 21 files changed, 22 insertions(+), 22 deletions(-) -- http://git-wip-us.apache.org/repos/asf/storm/blob/92fe211c/examples/storm-starter/pom.xml -- diff --git a/examples/storm-starter/pom.xml b/examples/storm-starter/pom.xml index f524062..eccbb29 100644 --- a/examples/storm-starter/pom.xml +++ b/examples/storm-starter/pom.xml @@ -20,7 +20,7 @@ storm org.apache.storm - 0.10.1-SNAPSHOT + 0.10.0 ../../pom.xml http://git-wip-us.apache.org/repos/asf/storm/blob/92fe211c/external/flux/flux-core/pom.xml -- diff --git a/external/flux/flux-core/pom.xml b/external/flux/flux-core/pom.xml index 90f9e6a..e852a2a 100644 --- a/external/flux/flux-core/pom.xml +++ b/external/flux/flux-core/pom.xml @@ -21,7 +21,7 @@ org.apache.storm flux -0.10.1-SNAPSHOT +0.10.0 ../pom.xml http://git-wip-us.apache.org/repos/asf/storm/blob/92fe211c/external/flux/flux-examples/pom.xml -- diff --git a/external/flux/flux-examples/pom.xml b/external/flux/flux-examples/pom.xml index 4e8d67d..d7543ac 100644 --- a/external/flux/flux-examples/pom.xml +++ b/external/flux/flux-examples/pom.xml @@ -21,7 +21,7 @@ org.apache.storm flux -0.10.1-SNAPSHOT +0.10.0 ../pom.xml http://git-wip-us.apache.org/repos/asf/storm/blob/92fe211c/external/flux/flux-wrappers/pom.xml -- diff --git a/external/flux/flux-wrappers/pom.xml b/external/flux/flux-wrappers/pom.xml index 9b60526..6ff542e 100644 --- a/external/flux/flux-wrappers/pom.xml +++ b/external/flux/flux-wrappers/pom.xml @@ -21,7 +21,7 @@ org.apache.storm flux -0.10.1-SNAPSHOT +0.10.0 ../pom.xml http://git-wip-us.apache.org/repos/asf/storm/blob/92fe211c/external/flux/pom.xml -- diff --git a/external/flux/pom.xml b/external/flux/pom.xml index cd356cf..96840d7 100644 --- a/external/flux/pom.xml +++ b/external/flux/pom.xml @@ -26,7 +26,7 @@ storm org.apache.storm -0.10.1-SNAPSHOT +0.10.0 ../../pom.xml http://git-wip-us.apache.org/repos/asf/storm/blob/92fe211c/external/storm-eventhubs/pom.xml -- diff --git a/external/storm-eventhubs/pom.xml b/external/storm-eventhubs/pom.xml index beada09..54c7433 100755 ---
[3/3] storm git commit: update changelog for 0.10.0 release
update changelog for 0.10.0 release Project: http://git-wip-us.apache.org/repos/asf/storm/repo Commit: http://git-wip-us.apache.org/repos/asf/storm/commit/463af3ba Tree: http://git-wip-us.apache.org/repos/asf/storm/tree/463af3ba Diff: http://git-wip-us.apache.org/repos/asf/storm/diff/463af3ba Branch: refs/heads/0.10.x-branch Commit: 463af3ba2ab4015dd2f8556f9f4a6fca70aa7746 Parents: 8db2936 Author: P. Taylor GoetzAuthored: Fri Sep 11 15:42:22 2015 -0400 Committer: P. Taylor Goetz Committed: Fri Sep 11 15:42:22 2015 -0400 -- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/storm/blob/463af3ba/CHANGELOG.md -- diff --git a/CHANGELOG.md b/CHANGELOG.md index 1487d04..6699664 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,4 @@ -## 0.10.0-beta2 +## 0.10.0 * STORM-1024: log4j changes leaving ${sys:storm.log.dir} under STORM_HOME dir * STORM-996: netty-unit-tests/test-batch demonstrates out-of-order delivery * STORM-944: storm-hive pom.xml has a dependency conflict with calcite
Git Push Summary
Repository: storm Updated Tags: refs/tags/v0.10.0 [deleted] ce55bc9d6
storm git commit: [maven-release-plugin] prepare for next development iteration
Repository: storm Updated Branches: refs/heads/0.10.x-branch e0c71e6e9 -> e3cc51f88 [maven-release-plugin] prepare for next development iteration Project: http://git-wip-us.apache.org/repos/asf/storm/repo Commit: http://git-wip-us.apache.org/repos/asf/storm/commit/e3cc51f8 Tree: http://git-wip-us.apache.org/repos/asf/storm/tree/e3cc51f8 Diff: http://git-wip-us.apache.org/repos/asf/storm/diff/e3cc51f8 Branch: refs/heads/0.10.x-branch Commit: e3cc51f88a96726909856e4e0d08fe99cf2235ce Parents: e0c71e6 Author: P. Taylor GoetzAuthored: Fri Sep 11 14:59:01 2015 -0400 Committer: P. Taylor Goetz Committed: Fri Sep 11 14:59:01 2015 -0400 -- examples/storm-starter/pom.xml | 2 +- external/flux/flux-core/pom.xml | 2 +- external/flux/flux-examples/pom.xml | 2 +- external/flux/flux-wrappers/pom.xml | 2 +- external/flux/pom.xml| 2 +- external/storm-eventhubs/pom.xml | 2 +- external/storm-hbase/pom.xml | 2 +- external/storm-hdfs/pom.xml | 2 +- external/storm-hive/pom.xml | 2 +- external/storm-jdbc/pom.xml | 2 +- external/storm-kafka/pom.xml | 2 +- external/storm-redis/pom.xml | 2 +- pom.xml | 4 ++-- storm-buildtools/maven-shade-clojure-transformer/pom.xml | 2 +- storm-buildtools/storm-maven-plugins/pom.xml | 2 +- storm-core/pom.xml | 2 +- storm-dist/binary/pom.xml| 2 +- storm-dist/source/pom.xml| 2 +- storm-multilang/javascript/pom.xml | 2 +- storm-multilang/python/pom.xml | 2 +- storm-multilang/ruby/pom.xml | 2 +- 21 files changed, 22 insertions(+), 22 deletions(-) -- http://git-wip-us.apache.org/repos/asf/storm/blob/e3cc51f8/examples/storm-starter/pom.xml -- diff --git a/examples/storm-starter/pom.xml b/examples/storm-starter/pom.xml index eccbb29..f524062 100644 --- a/examples/storm-starter/pom.xml +++ b/examples/storm-starter/pom.xml @@ -20,7 +20,7 @@ storm org.apache.storm - 0.10.0 + 0.10.1-SNAPSHOT ../../pom.xml http://git-wip-us.apache.org/repos/asf/storm/blob/e3cc51f8/external/flux/flux-core/pom.xml -- diff --git a/external/flux/flux-core/pom.xml b/external/flux/flux-core/pom.xml index e852a2a..90f9e6a 100644 --- a/external/flux/flux-core/pom.xml +++ b/external/flux/flux-core/pom.xml @@ -21,7 +21,7 @@ org.apache.storm flux -0.10.0 +0.10.1-SNAPSHOT ../pom.xml http://git-wip-us.apache.org/repos/asf/storm/blob/e3cc51f8/external/flux/flux-examples/pom.xml -- diff --git a/external/flux/flux-examples/pom.xml b/external/flux/flux-examples/pom.xml index d7543ac..4e8d67d 100644 --- a/external/flux/flux-examples/pom.xml +++ b/external/flux/flux-examples/pom.xml @@ -21,7 +21,7 @@ org.apache.storm flux -0.10.0 +0.10.1-SNAPSHOT ../pom.xml http://git-wip-us.apache.org/repos/asf/storm/blob/e3cc51f8/external/flux/flux-wrappers/pom.xml -- diff --git a/external/flux/flux-wrappers/pom.xml b/external/flux/flux-wrappers/pom.xml index 6ff542e..9b60526 100644 --- a/external/flux/flux-wrappers/pom.xml +++ b/external/flux/flux-wrappers/pom.xml @@ -21,7 +21,7 @@ org.apache.storm flux -0.10.0 +0.10.1-SNAPSHOT ../pom.xml http://git-wip-us.apache.org/repos/asf/storm/blob/e3cc51f8/external/flux/pom.xml -- diff --git a/external/flux/pom.xml b/external/flux/pom.xml index 96840d7..cd356cf 100644 --- a/external/flux/pom.xml +++ b/external/flux/pom.xml @@ -26,7 +26,7 @@ storm org.apache.storm -0.10.0 +0.10.1-SNAPSHOT ../../pom.xml http://git-wip-us.apache.org/repos/asf/storm/blob/e3cc51f8/external/storm-eventhubs/pom.xml -- diff --git a/external/storm-eventhubs/pom.xml b/external/storm-eventhubs/pom.xml index 54c7433..beada09 100755 --- a/external/storm-eventhubs/pom.xml +++ b/external/storm-eventhubs/pom.xml @@ -21,7
storm git commit: [maven-release-plugin] prepare release v0.10.0
Repository: storm Updated Branches: refs/heads/0.10.x-branch bb32ce9d6 -> e0c71e6e9 [maven-release-plugin] prepare release v0.10.0 Project: http://git-wip-us.apache.org/repos/asf/storm/repo Commit: http://git-wip-us.apache.org/repos/asf/storm/commit/e0c71e6e Tree: http://git-wip-us.apache.org/repos/asf/storm/tree/e0c71e6e Diff: http://git-wip-us.apache.org/repos/asf/storm/diff/e0c71e6e Branch: refs/heads/0.10.x-branch Commit: e0c71e6e9aec210dcb39ae78f43d286e31dc3681 Parents: bb32ce9 Author: P. Taylor GoetzAuthored: Fri Sep 11 14:58:54 2015 -0400 Committer: P. Taylor Goetz Committed: Fri Sep 11 14:58:54 2015 -0400 -- examples/storm-starter/pom.xml | 2 +- external/flux/flux-core/pom.xml | 2 +- external/flux/flux-examples/pom.xml | 2 +- external/flux/flux-wrappers/pom.xml | 2 +- external/flux/pom.xml| 2 +- external/storm-eventhubs/pom.xml | 2 +- external/storm-hbase/pom.xml | 2 +- external/storm-hdfs/pom.xml | 2 +- external/storm-hive/pom.xml | 2 +- external/storm-jdbc/pom.xml | 2 +- external/storm-kafka/pom.xml | 2 +- external/storm-redis/pom.xml | 2 +- pom.xml | 4 ++-- storm-buildtools/maven-shade-clojure-transformer/pom.xml | 2 +- storm-buildtools/storm-maven-plugins/pom.xml | 2 +- storm-core/pom.xml | 2 +- storm-dist/binary/pom.xml| 2 +- storm-dist/source/pom.xml| 2 +- storm-multilang/javascript/pom.xml | 2 +- storm-multilang/python/pom.xml | 2 +- storm-multilang/ruby/pom.xml | 2 +- 21 files changed, 22 insertions(+), 22 deletions(-) -- http://git-wip-us.apache.org/repos/asf/storm/blob/e0c71e6e/examples/storm-starter/pom.xml -- diff --git a/examples/storm-starter/pom.xml b/examples/storm-starter/pom.xml index 32ea2e1..eccbb29 100644 --- a/examples/storm-starter/pom.xml +++ b/examples/storm-starter/pom.xml @@ -20,7 +20,7 @@ storm org.apache.storm - 0.10.0-beta2-SNAPSHOT + 0.10.0 ../../pom.xml http://git-wip-us.apache.org/repos/asf/storm/blob/e0c71e6e/external/flux/flux-core/pom.xml -- diff --git a/external/flux/flux-core/pom.xml b/external/flux/flux-core/pom.xml index 0e56bc7..e852a2a 100644 --- a/external/flux/flux-core/pom.xml +++ b/external/flux/flux-core/pom.xml @@ -21,7 +21,7 @@ org.apache.storm flux -0.10.0-beta2-SNAPSHOT +0.10.0 ../pom.xml http://git-wip-us.apache.org/repos/asf/storm/blob/e0c71e6e/external/flux/flux-examples/pom.xml -- diff --git a/external/flux/flux-examples/pom.xml b/external/flux/flux-examples/pom.xml index 9a46b5b..d7543ac 100644 --- a/external/flux/flux-examples/pom.xml +++ b/external/flux/flux-examples/pom.xml @@ -21,7 +21,7 @@ org.apache.storm flux -0.10.0-beta2-SNAPSHOT +0.10.0 ../pom.xml http://git-wip-us.apache.org/repos/asf/storm/blob/e0c71e6e/external/flux/flux-wrappers/pom.xml -- diff --git a/external/flux/flux-wrappers/pom.xml b/external/flux/flux-wrappers/pom.xml index 995ef79..6ff542e 100644 --- a/external/flux/flux-wrappers/pom.xml +++ b/external/flux/flux-wrappers/pom.xml @@ -21,7 +21,7 @@ org.apache.storm flux -0.10.0-beta2-SNAPSHOT +0.10.0 ../pom.xml http://git-wip-us.apache.org/repos/asf/storm/blob/e0c71e6e/external/flux/pom.xml -- diff --git a/external/flux/pom.xml b/external/flux/pom.xml index 6ab8a92..96840d7 100644 --- a/external/flux/pom.xml +++ b/external/flux/pom.xml @@ -26,7 +26,7 @@ storm org.apache.storm -0.10.0-beta2-SNAPSHOT +0.10.0 ../../pom.xml http://git-wip-us.apache.org/repos/asf/storm/blob/e0c71e6e/external/storm-eventhubs/pom.xml -- diff --git a/external/storm-eventhubs/pom.xml b/external/storm-eventhubs/pom.xml index f62b0b2..54c7433 100755 --- a/external/storm-eventhubs/pom.xml +++
Git Push Summary
Repository: storm Updated Tags: refs/tags/v0.10.0 [created] ce55bc9d6
storm git commit: [maven-release-plugin] prepare for next development iteration
Repository: storm Updated Branches: refs/heads/0.10.x-branch f6c0abb0b -> e10059088 [maven-release-plugin] prepare for next development iteration Project: http://git-wip-us.apache.org/repos/asf/storm/repo Commit: http://git-wip-us.apache.org/repos/asf/storm/commit/e1005908 Tree: http://git-wip-us.apache.org/repos/asf/storm/tree/e1005908 Diff: http://git-wip-us.apache.org/repos/asf/storm/diff/e1005908 Branch: refs/heads/0.10.x-branch Commit: e10059088db7edeee3cfa86d7fbf7c6a31e1deb8 Parents: f6c0abb Author: P. Taylor GoetzAuthored: Fri Sep 11 15:51:38 2015 -0400 Committer: P. Taylor Goetz Committed: Fri Sep 11 15:51:38 2015 -0400 -- examples/storm-starter/pom.xml | 2 +- external/flux/flux-core/pom.xml | 2 +- external/flux/flux-examples/pom.xml | 2 +- external/flux/flux-wrappers/pom.xml | 2 +- external/flux/pom.xml| 2 +- external/storm-eventhubs/pom.xml | 2 +- external/storm-hbase/pom.xml | 2 +- external/storm-hdfs/pom.xml | 2 +- external/storm-hive/pom.xml | 2 +- external/storm-jdbc/pom.xml | 2 +- external/storm-kafka/pom.xml | 2 +- external/storm-redis/pom.xml | 2 +- pom.xml | 4 ++-- storm-buildtools/maven-shade-clojure-transformer/pom.xml | 2 +- storm-buildtools/storm-maven-plugins/pom.xml | 2 +- storm-core/pom.xml | 2 +- storm-dist/binary/pom.xml| 2 +- storm-dist/source/pom.xml| 2 +- storm-multilang/javascript/pom.xml | 2 +- storm-multilang/python/pom.xml | 2 +- storm-multilang/ruby/pom.xml | 2 +- 21 files changed, 22 insertions(+), 22 deletions(-) -- http://git-wip-us.apache.org/repos/asf/storm/blob/e1005908/examples/storm-starter/pom.xml -- diff --git a/examples/storm-starter/pom.xml b/examples/storm-starter/pom.xml index eccbb29..f524062 100644 --- a/examples/storm-starter/pom.xml +++ b/examples/storm-starter/pom.xml @@ -20,7 +20,7 @@ storm org.apache.storm - 0.10.0 + 0.10.1-SNAPSHOT ../../pom.xml http://git-wip-us.apache.org/repos/asf/storm/blob/e1005908/external/flux/flux-core/pom.xml -- diff --git a/external/flux/flux-core/pom.xml b/external/flux/flux-core/pom.xml index e852a2a..90f9e6a 100644 --- a/external/flux/flux-core/pom.xml +++ b/external/flux/flux-core/pom.xml @@ -21,7 +21,7 @@ org.apache.storm flux -0.10.0 +0.10.1-SNAPSHOT ../pom.xml http://git-wip-us.apache.org/repos/asf/storm/blob/e1005908/external/flux/flux-examples/pom.xml -- diff --git a/external/flux/flux-examples/pom.xml b/external/flux/flux-examples/pom.xml index d7543ac..4e8d67d 100644 --- a/external/flux/flux-examples/pom.xml +++ b/external/flux/flux-examples/pom.xml @@ -21,7 +21,7 @@ org.apache.storm flux -0.10.0 +0.10.1-SNAPSHOT ../pom.xml http://git-wip-us.apache.org/repos/asf/storm/blob/e1005908/external/flux/flux-wrappers/pom.xml -- diff --git a/external/flux/flux-wrappers/pom.xml b/external/flux/flux-wrappers/pom.xml index 6ff542e..9b60526 100644 --- a/external/flux/flux-wrappers/pom.xml +++ b/external/flux/flux-wrappers/pom.xml @@ -21,7 +21,7 @@ org.apache.storm flux -0.10.0 +0.10.1-SNAPSHOT ../pom.xml http://git-wip-us.apache.org/repos/asf/storm/blob/e1005908/external/flux/pom.xml -- diff --git a/external/flux/pom.xml b/external/flux/pom.xml index 96840d7..cd356cf 100644 --- a/external/flux/pom.xml +++ b/external/flux/pom.xml @@ -26,7 +26,7 @@ storm org.apache.storm -0.10.0 +0.10.1-SNAPSHOT ../../pom.xml http://git-wip-us.apache.org/repos/asf/storm/blob/e1005908/external/storm-eventhubs/pom.xml -- diff --git a/external/storm-eventhubs/pom.xml b/external/storm-eventhubs/pom.xml index 54c7433..beada09 100755 --- a/external/storm-eventhubs/pom.xml +++ b/external/storm-eventhubs/pom.xml @@ -21,7
storm git commit: [maven-release-plugin] prepare release v0.10.0
Repository: storm Updated Branches: refs/heads/0.10.x-branch 463af3ba2 -> f6c0abb0b [maven-release-plugin] prepare release v0.10.0 Project: http://git-wip-us.apache.org/repos/asf/storm/repo Commit: http://git-wip-us.apache.org/repos/asf/storm/commit/f6c0abb0 Tree: http://git-wip-us.apache.org/repos/asf/storm/tree/f6c0abb0 Diff: http://git-wip-us.apache.org/repos/asf/storm/diff/f6c0abb0 Branch: refs/heads/0.10.x-branch Commit: f6c0abb0bd76867b48c7b7c7cfdfdc7e0e6f483a Parents: 463af3b Author: P. Taylor GoetzAuthored: Fri Sep 11 15:51:32 2015 -0400 Committer: P. Taylor Goetz Committed: Fri Sep 11 15:51:32 2015 -0400 -- examples/storm-starter/pom.xml | 2 +- external/flux/flux-core/pom.xml | 2 +- external/flux/flux-examples/pom.xml | 2 +- external/flux/flux-wrappers/pom.xml | 2 +- external/flux/pom.xml| 2 +- external/storm-eventhubs/pom.xml | 2 +- external/storm-hbase/pom.xml | 2 +- external/storm-hdfs/pom.xml | 2 +- external/storm-hive/pom.xml | 2 +- external/storm-jdbc/pom.xml | 2 +- external/storm-kafka/pom.xml | 2 +- external/storm-redis/pom.xml | 2 +- pom.xml | 4 ++-- storm-buildtools/maven-shade-clojure-transformer/pom.xml | 2 +- storm-buildtools/storm-maven-plugins/pom.xml | 2 +- storm-core/pom.xml | 2 +- storm-dist/binary/pom.xml| 2 +- storm-dist/source/pom.xml| 2 +- storm-multilang/javascript/pom.xml | 2 +- storm-multilang/python/pom.xml | 2 +- storm-multilang/ruby/pom.xml | 2 +- 21 files changed, 22 insertions(+), 22 deletions(-) -- http://git-wip-us.apache.org/repos/asf/storm/blob/f6c0abb0/examples/storm-starter/pom.xml -- diff --git a/examples/storm-starter/pom.xml b/examples/storm-starter/pom.xml index 32ea2e1..eccbb29 100644 --- a/examples/storm-starter/pom.xml +++ b/examples/storm-starter/pom.xml @@ -20,7 +20,7 @@ storm org.apache.storm - 0.10.0-beta2-SNAPSHOT + 0.10.0 ../../pom.xml http://git-wip-us.apache.org/repos/asf/storm/blob/f6c0abb0/external/flux/flux-core/pom.xml -- diff --git a/external/flux/flux-core/pom.xml b/external/flux/flux-core/pom.xml index 0e56bc7..e852a2a 100644 --- a/external/flux/flux-core/pom.xml +++ b/external/flux/flux-core/pom.xml @@ -21,7 +21,7 @@ org.apache.storm flux -0.10.0-beta2-SNAPSHOT +0.10.0 ../pom.xml http://git-wip-us.apache.org/repos/asf/storm/blob/f6c0abb0/external/flux/flux-examples/pom.xml -- diff --git a/external/flux/flux-examples/pom.xml b/external/flux/flux-examples/pom.xml index 9a46b5b..d7543ac 100644 --- a/external/flux/flux-examples/pom.xml +++ b/external/flux/flux-examples/pom.xml @@ -21,7 +21,7 @@ org.apache.storm flux -0.10.0-beta2-SNAPSHOT +0.10.0 ../pom.xml http://git-wip-us.apache.org/repos/asf/storm/blob/f6c0abb0/external/flux/flux-wrappers/pom.xml -- diff --git a/external/flux/flux-wrappers/pom.xml b/external/flux/flux-wrappers/pom.xml index 995ef79..6ff542e 100644 --- a/external/flux/flux-wrappers/pom.xml +++ b/external/flux/flux-wrappers/pom.xml @@ -21,7 +21,7 @@ org.apache.storm flux -0.10.0-beta2-SNAPSHOT +0.10.0 ../pom.xml http://git-wip-us.apache.org/repos/asf/storm/blob/f6c0abb0/external/flux/pom.xml -- diff --git a/external/flux/pom.xml b/external/flux/pom.xml index 6ab8a92..96840d7 100644 --- a/external/flux/pom.xml +++ b/external/flux/pom.xml @@ -26,7 +26,7 @@ storm org.apache.storm -0.10.0-beta2-SNAPSHOT +0.10.0 ../../pom.xml http://git-wip-us.apache.org/repos/asf/storm/blob/f6c0abb0/external/storm-eventhubs/pom.xml -- diff --git a/external/storm-eventhubs/pom.xml b/external/storm-eventhubs/pom.xml index f62b0b2..54c7433 100755 --- a/external/storm-eventhubs/pom.xml +++
Git Push Summary
Repository: storm Updated Branches: refs/heads/STORM-1040 [created] 4c9506773
[2/2] storm git commit: Merge branch 'master' of https://github.com/enragedginger/storm
Merge branch 'master' of https://github.com/enragedginger/storm Project: http://git-wip-us.apache.org/repos/asf/storm/repo Commit: http://git-wip-us.apache.org/repos/asf/storm/commit/4c950677 Tree: http://git-wip-us.apache.org/repos/asf/storm/tree/4c950677 Diff: http://git-wip-us.apache.org/repos/asf/storm/diff/4c950677 Branch: refs/heads/master Commit: 4c9506773441ce281fbe83f26ad21da05d19c4d9 Parents: 8eb4509 473323e Author: Sriharsha ChintalapaniAuthored: Fri Sep 11 07:09:57 2015 -0700 Committer: Sriharsha Chintalapani Committed: Fri Sep 11 07:09:57 2015 -0700 -- external/storm-kafka/README.md | 46 ++--- 1 file changed, 23 insertions(+), 23 deletions(-) --
[31/51] [partial] storm git commit: merge STORM-950 into asf-site. This closes #670
http://git-wip-us.apache.org/repos/asf/storm/blob/1d09012e/_site/documentation/Distributed-RPC.html -- diff --git a/_site/documentation/Distributed-RPC.html b/_site/documentation/Distributed-RPC.html new file mode 100644 index 000..ebebab5 --- /dev/null +++ b/_site/documentation/Distributed-RPC.html @@ -0,0 +1,340 @@ + + + + + + + + + + +Distributed RPC + + + + + + + +http://fortawesome.github.io/Font-Awesome/assets/font-awesome/css/font-awesome.css;> + + + + + + + + + + + + + + + + + + + + + + + + Download + + + + + + + + + + + + + + + + + + Home +Getting Help +Project Information +Documentation +Talks and Slideshows + +Contribute + +Getting Started +ByLaws + + +News + + + + + + + + +Distributed RPC + + + + + + +The idea behind distributed RPC (DRPC) is to parallelize the computation of really intense functions on the fly using Storm. The Storm topology takes in as input a stream of function arguments, and it emits an output stream of the results for each of those function calls. + +DRPC is not so much a feature of Storm as it is a pattern expressed from Storms primitives of streams, spouts, bolts, and topologies. DRPC could have been packaged as a separate library from Storm, but its so useful that its bundled with Storm. + +High level overview + +Distributed RPC is coordinated by a DRPC server (Storm comes packaged with an implementation of this). The DRPC server coordinates receiving an RPC request, sending the request to the Storm topology, receiving the results from the Storm topology, and sending the results back to the waiting client. From a clients perspective, a distributed RPC call looks just like a regular RPC call. For example, heres how a client would compute the results for the reach function with the argument http://twitter.com%22:;>http://twitter.com: +DRPCClient client = new DRPCClient(drpc-host, 3772); +String result = client.execute(reach, http://twitter.com;); + +The distributed RPC workflow looks like this: + + + +A client sends the DRPC server the name of the function to execute and the arguments to that function. The topology implementing that function uses a DRPCSpout to receive a function invocation stream from the DRPC server. Each function invocation is tagged with a unique id by the DRPC server. The topology then computes the result and at the end of the topology a bolt called ReturnResults connects to the DRPC server and gives it the result for the function invocation id. The DRPC server then uses the id to match up that result with which client is waiting, unblocks the waiting client, and sends it the result. + +LinearDRPCTopologyBuilder + +Storm comes with a topology builder called LinearDRPCTopologyBuilder that automates almost all the steps involved for doing DRPC. These include: + + +Setting up the spout +Returning the results to the DRPC server +Providing functionality to bolts for doing finite aggregations over groups of tuples + + +Lets look at a simple example. Heres the implementation of a DRPC topology that returns its input argument with a ! appended: +public static class ExclaimBolt extends BaseBasicBolt { +public void execute(Tuple tuple, BasicOutputCollector collector) { +String input = tuple.getString(1); +collector.emit(new Values(tuple.getValue(0), input + !)); +} + +public void declareOutputFields(OutputFieldsDeclarer declarer) { +declarer.declare(new Fields(id, result)); +} +} + +public static void main(String[] args) throws Exception { +LinearDRPCTopologyBuilder builder = new LinearDRPCTopologyBuilder(exclamation); +builder.addBolt(new ExclaimBolt(), 3); +// ... +} + +As you can see, theres very little to it. When creating the LinearDRPCTopologyBuilder, you tell it the name of the DRPC function for the topology. A single DRPC server can coordinate many functions, and the function name distinguishes the functions from one another. The first bolt you declare will take in as input 2-tuples, where the first field is the request id and the second field is the arguments for that request. LinearDRPCTopologyBuilder expects the last bolt to emit an output stream containing 2-tuples of the form [id, result]. Finally, all intermediate tuples must contain the request id as the first field. + +In this
[51/51] [partial] storm git commit: merge STORM-950 into asf-site. This closes #670
merge STORM-950 into asf-site. This closes #670 Project: http://git-wip-us.apache.org/repos/asf/storm/repo Commit: http://git-wip-us.apache.org/repos/asf/storm/commit/1d09012e Tree: http://git-wip-us.apache.org/repos/asf/storm/tree/1d09012e Diff: http://git-wip-us.apache.org/repos/asf/storm/diff/1d09012e Branch: refs/heads/asf-site Commit: 1d09012e718091f67e3c8710fae7e6da64d86378 Parents: Author: P. Taylor GoetzAuthored: Fri Sep 11 14:24:14 2015 -0400 Committer: P. Taylor Goetz Committed: Fri Sep 11 14:24:14 2015 -0400 -- .gitignore |2 + README.md | 47 + _config.yml | 11 + _includes/footer.html | 52 + _includes/head.html | 34 + _includes/header.html | 44 + _layouts/about.html | 46 + _layouts/default.html | 18 + _layouts/documentation.html |9 + _layouts/page.html |5 + _layouts/post.html | 61 + _posts/2012-08-02-storm080-released.md | 120 + _posts/2012-09-06-storm081-released.md | 47 + _posts/2013-01-11-storm082-released.md | 82 + _posts/2013-12-08-storm090-released.md | 127 + _posts/2014-04-10-storm-logo-contest.md | 66 + _posts/2014-04-17-logo-pforrest.md | 10 + _posts/2014-04-17-logo-squinones.md |9 + _posts/2014-04-19-logo-ssuleman.md |8 + _posts/2014-04-21-logo-rmarshall.md | 12 + _posts/2014-04-22-logo-zsayari.md |9 + _posts/2014-04-23-logo-abartos.md | 15 + _posts/2014-04-27-logo-cboustead.md | 12 + _posts/2014-04-27-logo-sasili.md| 10 + _posts/2014-04-29-logo-jlee1.md | 10 + _posts/2014-04-29-logo-jlee2.md | 10 + _posts/2014-04-29-logo-jlee3.md | 10 + _posts/2014-05-27-round1-results.md | 38 + _posts/2014-06-17-contest-results.md| 24 + _posts/2014-06-25-storm092-released.md | 137 + _posts/2014-10-20-storm093-release-candidate.md | 11 + _posts/2014-11-25-storm093-released.md | 164 + _posts/2015-03-25-storm094-released.md | 24 + _posts/2015-06-04-storm095-released.md | 23 + _posts/2015-06-15-storm0100-beta-released.md| 294 + _sass/_syntax-highlighting.scss | 70 + _site/2012/08/02/storm080-released.html | 345 + _site/2012/09/06/storm081-released.html | 279 + _site/2013/01/11/storm082-released.html | 306 + _site/2013/12/08/storm090-released.html | 343 + _site/2014/04/10/storm-logo-contest.html| 305 + _site/2014/04/17/logo-pforrest.html | 240 + _site/2014/04/17/logo-squinones.html| 240 + _site/2014/04/19/logo-ssuleman.html | 238 + _site/2014/04/21/logo-rmarshall.html| 242 + _site/2014/04/22/logo-zsayari.html | 238 + _site/2014/04/23/logo-abartos.html | 244 + _site/2014/04/27/logo-cboustead.html| 240 + _site/2014/04/27/logo-sasili.html | 238 + _site/2014/04/29/logo-jlee1.html| 238 + _site/2014/04/29/logo-jlee2.html| 238 + _site/2014/04/29/logo-jlee3.html| 238 + _site/2014/05/27/round1-results.html| 322 + _site/2014/06/17/contest-results.html | 274 + _site/2014/06/25/storm092-released.html | 362 + .../2014/10/20/storm093-release-candidate.html | 242 + _site/2014/11/25/storm093-released.html | 423 ++ _site/2015/03/25/storm094-released.html | 254 + _site/2015/06/04/storm095-released.html | 253 + _site/2015/06/15/storm0100-beta-released.html | 521 ++ _site/README.md | 47 + _site/about.html| 261 + _site/about/deployment.html | 197 + _site/about/fault-tolerant.html | 197 + _site/about/free-and-open-source.html | 204 + _site/about/guarantees-data-processing.html | 197 + _site/about/integrates.html | 203 + _site/about/multi-language.html | 197 + _site/about/scalable.html | 200 + _site/about/simple-api.html | 203 + _site/assets/css/bootstrap-theme.css| 470 ++ _site/assets/css/bootstrap-theme.css.map|1 + _site/assets/css/bootstrap-theme.min.css|5 + _site/assets/css/bootstrap.css | 6800 ++ _site/assets/css/bootstrap.css.map
[05/51] [partial] storm git commit: merge STORM-950 into asf-site. This closes #670
http://git-wip-us.apache.org/repos/asf/storm/blob/1d09012e/assets/js/bootstrap.min.js -- diff --git a/assets/js/bootstrap.min.js b/assets/js/bootstrap.min.js new file mode 100644 index 000..133aeec --- /dev/null +++ b/assets/js/bootstrap.min.js @@ -0,0 +1,7 @@ +/*! + * Bootstrap v3.3.5 (http://getbootstrap.com) + * Copyright 2011-2015 Twitter, Inc. + * Licensed under the MIT license + */ +if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");+function(a){"use strict";var b=a.fn.jquery.split(" ")[0].split(".");if(b[0]<2&[1]<9||1==b[0]&&9==b[1]&[2]<1)throw new Error("Bootstrap's JavaScript requires jQuery version 1.9.1 or higher")}(jQuery),+function(a){"use strict";function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return{end:b[c]};return!1}a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one("bsTransitionEnd",function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b(),a.support.transition&&(a.event.special.bsTransitionEnd={bindType:a.support.transition.end,delegateType:a.support.transition.end,handle:function(b){return a(b.target).is(this)?b.handleObj. handler.apply(this,arguments):void 0}})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var c=a(this),e=c.data("bs.alert");e||c.data("bs.alert",e=new d(this)),"string"==typeof b&[b].call(c)})}var c='[data-dismiss="alert"]',d=function(b){a(b).on("click",c,this.close)};d.VERSION="3.3.5",d.TRANSITION_DURATION=150,d.prototype.close=function(b){function c(){g.detach().trigger("closed.bs.alert").remove()}var e=a(this),f=e.attr("data-target");f||(f=e.attr("href"),f=f&(/.*(?=#[^\s]*$)/,""));var g=a(f);b&(),g.length||(g=e.closest(".alert")),g.trigger(b=a.Event("close.bs.alert")),b.isDefaultPrevented()||(g.removeClass("in"),a.support.transition&("fade")?g.one("bsTransitionEnd",c).emulateTransitionEnd(d.TRANSITION_DURATION):c())};var e=a.fn.alert;a.fn.alert=b,a.fn.alert.Constructor=d,a.fn.alert.noConflict=function(){return a.fn.alert=e,this},a(document).on("click.bs.alert.data-api",c,d.prototype.close)}(jQuery),+function(a) {"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.button"),f="object"==typeof b&e||d.data("bs.button",e=new c(this,f)),"toggle"==b?e.toggle():b&(b)})}var c=function(b,d){this.$element=a(b),this.options=a.extend({},c.DEFAULTS,d),this.isLoading=!1};c.VERSION="3.3.5",c.DEFAULTS={loadingText:"loading..."},c.prototype.setState=function(b){var c="disabled",d=this.$element,e=d.is("input")?"val":"html",f=d.data();b+="Text",null==f.resetText&("resetText",d[e]()),setTimeout(a.proxy(function(){d[e](null==f[b]?this.options[b]:f[b]),"loadingText"==b?(this.isLoading=!0,d.addClass(c).attr(c,c)):this.isLoading&&(this.isLoading=!1,d.removeClass(c).removeAttr(c))},this),0)},c.prototype.toggle=function(){var a=!0,b=this.$element.closest('[data-toggle="buttons"]');if(b.length){var c=this.$element.find("input");"radio"==c.prop("type")?(c.prop("checked")&&(a=!1),b.find(".active").removeClass("active"),this.$element.addClass("active")):"checkbox"==c.pr op("type")&&(c.prop("checked")!==this.$element.hasClass("active")&&(a=!1),this.$element.toggleClass("active")),c.prop("checked",this.$element.hasClass("active")),a&("change")}else this.$element.attr("aria-pressed",!this.$element.hasClass("active")),this.$element.toggleClass("active")};var d=a.fn.button;a.fn.button=b,a.fn.button.Constructor=c,a.fn.button.noConflict=function(){return a.fn.button=d,this},a(document).on("click.bs.button.data-api",'[data-toggle^="button"]',function(c){var d=a(c.target);d.hasClass("btn")||(d=d.closest(".btn")),b.call(d,"toggle"),a(c.target).is('input[type="radio"]')||a(c.target).is('input[type="checkbox"]')||c.preventDefault()}).on("focus.bs.button.data-api blur.bs.button.data-api",'[data-toggle^="button"]',function(b){a(b.target).closest(".btn").toggleClass("focus",/^focus(in)?$/.test(b.type))})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.carousel"),f=a.extend({},c.DEFAULTS,d.data(),"o bject"==typeof b&),g="string"==typeof b?b:f.slide;e||d.data("bs.carousel",e=new c(this,f)),"number"==typeof b?e.to(b):g?e[g]():f.interval&().cycle()})}var c=function(b,c){this.$element=a(b),this.$indicators=this.$element.find(".carousel-indicators"),this.options=c,this.paused=null,this.sliding=null,this.interval=null,this.$active=null,this.$items=null,this.options.keyboard&$element.on("keydown.bs.carousel",a.proxy(this.keydown,this)),"hover"==this.options.pause&&!("ontouchstart"in
[36/51] [partial] storm git commit: merge STORM-950 into asf-site. This closes #670
http://git-wip-us.apache.org/repos/asf/storm/blob/1d09012e/_site/assets/js/bootstrap.min.js -- diff --git a/_site/assets/js/bootstrap.min.js b/_site/assets/js/bootstrap.min.js new file mode 100644 index 000..133aeec --- /dev/null +++ b/_site/assets/js/bootstrap.min.js @@ -0,0 +1,7 @@ +/*! + * Bootstrap v3.3.5 (http://getbootstrap.com) + * Copyright 2011-2015 Twitter, Inc. + * Licensed under the MIT license + */ +if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");+function(a){"use strict";var b=a.fn.jquery.split(" ")[0].split(".");if(b[0]<2&[1]<9||1==b[0]&&9==b[1]&[2]<1)throw new Error("Bootstrap's JavaScript requires jQuery version 1.9.1 or higher")}(jQuery),+function(a){"use strict";function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return{end:b[c]};return!1}a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one("bsTransitionEnd",function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b(),a.support.transition&&(a.event.special.bsTransitionEnd={bindType:a.support.transition.end,delegateType:a.support.transition.end,handle:function(b){return a(b.target).is(this)?b.handleObj. handler.apply(this,arguments):void 0}})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var c=a(this),e=c.data("bs.alert");e||c.data("bs.alert",e=new d(this)),"string"==typeof b&[b].call(c)})}var c='[data-dismiss="alert"]',d=function(b){a(b).on("click",c,this.close)};d.VERSION="3.3.5",d.TRANSITION_DURATION=150,d.prototype.close=function(b){function c(){g.detach().trigger("closed.bs.alert").remove()}var e=a(this),f=e.attr("data-target");f||(f=e.attr("href"),f=f&(/.*(?=#[^\s]*$)/,""));var g=a(f);b&(),g.length||(g=e.closest(".alert")),g.trigger(b=a.Event("close.bs.alert")),b.isDefaultPrevented()||(g.removeClass("in"),a.support.transition&("fade")?g.one("bsTransitionEnd",c).emulateTransitionEnd(d.TRANSITION_DURATION):c())};var e=a.fn.alert;a.fn.alert=b,a.fn.alert.Constructor=d,a.fn.alert.noConflict=function(){return a.fn.alert=e,this},a(document).on("click.bs.alert.data-api",c,d.prototype.close)}(jQuery),+function(a) {"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.button"),f="object"==typeof b&e||d.data("bs.button",e=new c(this,f)),"toggle"==b?e.toggle():b&(b)})}var c=function(b,d){this.$element=a(b),this.options=a.extend({},c.DEFAULTS,d),this.isLoading=!1};c.VERSION="3.3.5",c.DEFAULTS={loadingText:"loading..."},c.prototype.setState=function(b){var c="disabled",d=this.$element,e=d.is("input")?"val":"html",f=d.data();b+="Text",null==f.resetText&("resetText",d[e]()),setTimeout(a.proxy(function(){d[e](null==f[b]?this.options[b]:f[b]),"loadingText"==b?(this.isLoading=!0,d.addClass(c).attr(c,c)):this.isLoading&&(this.isLoading=!1,d.removeClass(c).removeAttr(c))},this),0)},c.prototype.toggle=function(){var a=!0,b=this.$element.closest('[data-toggle="buttons"]');if(b.length){var c=this.$element.find("input");"radio"==c.prop("type")?(c.prop("checked")&&(a=!1),b.find(".active").removeClass("active"),this.$element.addClass("active")):"checkbox"==c.pr op("type")&&(c.prop("checked")!==this.$element.hasClass("active")&&(a=!1),this.$element.toggleClass("active")),c.prop("checked",this.$element.hasClass("active")),a&("change")}else this.$element.attr("aria-pressed",!this.$element.hasClass("active")),this.$element.toggleClass("active")};var d=a.fn.button;a.fn.button=b,a.fn.button.Constructor=c,a.fn.button.noConflict=function(){return a.fn.button=d,this},a(document).on("click.bs.button.data-api",'[data-toggle^="button"]',function(c){var d=a(c.target);d.hasClass("btn")||(d=d.closest(".btn")),b.call(d,"toggle"),a(c.target).is('input[type="radio"]')||a(c.target).is('input[type="checkbox"]')||c.preventDefault()}).on("focus.bs.button.data-api blur.bs.button.data-api",'[data-toggle^="button"]',function(b){a(b.target).closest(".btn").toggleClass("focus",/^focus(in)?$/.test(b.type))})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.carousel"),f=a.extend({},c.DEFAULTS,d.data(),"o bject"==typeof b&),g="string"==typeof b?b:f.slide;e||d.data("bs.carousel",e=new c(this,f)),"number"==typeof b?e.to(b):g?e[g]():f.interval&().cycle()})}var c=function(b,c){this.$element=a(b),this.$indicators=this.$element.find(".carousel-indicators"),this.options=c,this.paused=null,this.sliding=null,this.interval=null,this.$active=null,this.$items=null,this.options.keyboard&$element.on("keydown.bs.carousel",a.proxy(this.keydown,this)),"hover"==this.options.pause&&!("ontouchstart"in
[37/51] [partial] storm git commit: merge STORM-950 into asf-site. This closes #670
http://git-wip-us.apache.org/repos/asf/storm/blob/1d09012e/_site/assets/js/bootstrap.js -- diff --git a/_site/assets/js/bootstrap.js b/_site/assets/js/bootstrap.js new file mode 100644 index 000..b6ac8d9 --- /dev/null +++ b/_site/assets/js/bootstrap.js @@ -0,0 +1,2320 @@ +/*! + * Bootstrap v3.3.1 (http://getbootstrap.com) + * Copyright 2011-2014 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ + +if (typeof jQuery === 'undefined') { + throw new Error('Bootstrap\'s JavaScript requires jQuery') +} + ++function ($) { + var version = $.fn.jquery.split(' ')[0].split('.') + if ((version[0] < 2 && version[1] < 9) || (version[0] == 1 && version[1] == 9 && version[2] < 1)) { +throw new Error('Bootstrap\'s JavaScript requires jQuery version 1.9.1 or higher') + } +}(jQuery); + +/* + * Bootstrap: transition.js v3.3.1 + * http://getbootstrap.com/javascript/#transitions + * + * Copyright 2011-2014 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * */ + + ++function ($) { + 'use strict'; + + // CSS TRANSITION SUPPORT (Shoutout: http://www.modernizr.com/) + // + + function transitionEnd() { +var el = document.createElement('bootstrap') + +var transEndEventNames = { + WebkitTransition : 'webkitTransitionEnd', + MozTransition: 'transitionend', + OTransition : 'oTransitionEnd otransitionend', + transition : 'transitionend' +} + +for (var name in transEndEventNames) { + if (el.style[name] !== undefined) { +return { end: transEndEventNames[name] } + } +} + +return false // explicit for ie8 ( ._.) + } + + // http://blog.alexmaccaw.com/css-transitions + $.fn.emulateTransitionEnd = function (duration) { +var called = false +var $el = this +$(this).one('bsTransitionEnd', function () { called = true }) +var callback = function () { if (!called) $($el).trigger($.support.transition.end) } +setTimeout(callback, duration) +return this + } + + $(function () { +$.support.transition = transitionEnd() + +if (!$.support.transition) return + +$.event.special.bsTransitionEnd = { + bindType: $.support.transition.end, + delegateType: $.support.transition.end, + handle: function (e) { +if ($(e.target).is(this)) return e.handleObj.handler.apply(this, arguments) + } +} + }) + +}(jQuery); + +/* + * Bootstrap: alert.js v3.3.1 + * http://getbootstrap.com/javascript/#alerts + * + * Copyright 2011-2014 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * */ + + ++function ($) { + 'use strict'; + + // ALERT CLASS DEFINITION + // == + + var dismiss = '[data-dismiss="alert"]' + var Alert = function (el) { +$(el).on('click', dismiss, this.close) + } + + Alert.VERSION = '3.3.1' + + Alert.TRANSITION_DURATION = 150 + + Alert.prototype.close = function (e) { +var $this= $(this) +var selector = $this.attr('data-target') + +if (!selector) { + selector = $this.attr('href') + selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7 +} + +var $parent = $(selector) + +if (e) e.preventDefault() + +if (!$parent.length) { + $parent = $this.closest('.alert') +} + +$parent.trigger(e = $.Event('close.bs.alert')) + +if (e.isDefaultPrevented()) return + +$parent.removeClass('in') + +function removeElement() { + // detach from parent, fire event then clean up data + $parent.detach().trigger('closed.bs.alert').remove() +} + +$.support.transition && $parent.hasClass('fade') ? + $parent +.one('bsTransitionEnd', removeElement) +.emulateTransitionEnd(Alert.TRANSITION_DURATION) : + removeElement() + } + + + // ALERT PLUGIN DEFINITION + // === + + function Plugin(option) { +return this.each(function () { + var $this = $(this) + var data = $this.data('bs.alert') + + if (!data) $this.data('bs.alert', (data = new Alert(this))) + if (typeof option == 'string') data[option].call($this) +}) + } + + var old = $.fn.alert + + $.fn.alert = Plugin + $.fn.alert.Constructor = Alert + + + // ALERT NO CONFLICT + // = + + $.fn.alert.noConflict = function () { +$.fn.alert = old +
[48/51] [partial] storm git commit: merge STORM-950 into asf-site. This closes #670
http://git-wip-us.apache.org/repos/asf/storm/blob/1d09012e/_site/2014/04/17/logo-pforrest.html -- diff --git a/_site/2014/04/17/logo-pforrest.html b/_site/2014/04/17/logo-pforrest.html new file mode 100644 index 000..4eba877 --- /dev/null +++ b/_site/2014/04/17/logo-pforrest.html @@ -0,0 +1,240 @@ + + + + + + + + + + + +Logo Entry No. 1 - Patricia Forrest + + + + + + + +http://fortawesome.github.io/Font-Awesome/assets/font-awesome/css/font-awesome.css;> + + + + + + + + + + + + + + + + + + + + + + + + + + Download + + + + + + + + + + + + + + + + + + Home +Getting Help +Project Information +Documentation +Talks and Slideshows + +Contribute + +Getting Started +ByLaws + + +News + + + + + + + + + + + + + + + Storm 0.10.0 Beta Released + + Storm 0.9.5 released + + Storm 0.9.4 released + + Storm 0.9.3 released + + Storm 0.9.3 release candidate 1 available + + Storm 0.9.2 released + + Storm Logo Contest Results + + Logo Contest - Round 1 Results + + Logo Entry No. 11 - Jennifer Lee + + Logo Entry No. 10 - Jennifer Lee + + Logo Entry No. 9 - Jennifer Lee + + Logo Entry No. 8 - Stefano Asili + + Logo Entry No. 7 - Calum Boustead + + Logo Entry No. 6 - Alec Bartos + + Logo Entry No. 5 - Ziba Sayari + + Logo Entry No. 4 - Richard Brownlie-Marshall + + Logo Entry No. 3- Shaan Shiv Suleman + + Logo Entry No. 2 - Samuel Quiñones + + Logo Entry No. 1 - Patricia Forrest + + Apache Storm Logo Contest + + Storm 0.9.0 Released + + Storm 0.8.2 released + + Storm 0.8.1 released + + Storm 0.8.0 and Trident released + + + + + + Logo Entry No. 1 - Patricia Forrest + + + + +Posted on Apr 17, 2014 by P. Taylor Goetz + +https://twitter.com/share; +class="twitter-share-button" +data-count=none +>Tweet + !function(d,s,id){ +var js, + fjs=d.getElementsByTagName(s)[0], + p=/^http:/.test(d.location)?'http':'https'; +if(!d.getElementById(id)){ +js=d.createElement(s); +js.id=id; +
[12/51] [partial] storm git commit: merge STORM-950 into asf-site. This closes #670
http://git-wip-us.apache.org/repos/asf/storm/blob/1d09012e/assets/css/bootstrap-theme.css.map -- diff --git a/assets/css/bootstrap-theme.css.map b/assets/css/bootstrap-theme.css.map new file mode 100644 index 000..016a8da --- /dev/null +++ b/assets/css/bootstrap-theme.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["less/theme.less","less/mixins/vendor-prefixes.less","bootstrap-theme.css","less/mixins/gradients.less","less/mixins/reset-filter.less"],"names":[],"mappings":"AAcA;;EAME,0CAAA;ECgDA,6FAAA;EACQ,qFAAA;EC5DT;AFgBCEC2CA,0DAAA;EACQ,kDAAA;EC7CT;AFVD;;EAiBI,mBAAA;EECH;AFgCC;;EAEE,wBAAA;EE9BH;AFmCD;EGlDI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EAEA,wHAAA;ECnBF,qEAAA;EJiCA,6BAAA;EACA,uBAAA;EA+B2C,2BAAA;EAA2B,oBAAA;EExBvE;AFLC;;EAEE,2BAAA;EACA,8BAAA;EEOH;AFJC;;EAEE,2BAAA;EACA,uBAAA;EEMH;AFHC;;EAEE,2BAAA;EACA,wBAAA;EEKH;AFUD;EGnDI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EAEA,wHAAA;ECnBF,qEAAA;EJiCA,6BAAA;EACA,uBAAA;EE+BD;AF7BC;;EAEE,2BAAA;EACA,8BAAA;EE+BH;AF5BC;;EAEE,2BAAA;EACA,uBAAA;EE8BH;AF3BC;;EAEE,2BAAA;EACA,wBAAA;EE6BH;AFbD;EGpDI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EAEA,wHAAA;ECnBF,qEAAA;EJiCA,6BAAA;EACA,uBAAA;EEuDD;AFrDC;;EAEE,2BAAA;EACA,8BAAA;EEuDH;AFpDC;;EAEE,2BAAA;EACA,uBAAA;EEsDH;AFnDC;;EAEE,2BAAA;EACA,wBAAA;EEqDH;AFpCD;EGrDI,0EAAA;EACA,q EAAA;EACA,+FAAA;EAAA,wEAAA;EAEA,wHAAA;ECnBF,qEAAA;EJiCA,6BAAA;EACA,uBAAA;EE+ED;AF7EC;;EAEE,2BAAA;EACA,8BAAA;EE+EH;AF5EC;;EAEE,2BAAA;EACA,uBAAA;EE8EH;AF3EC;;EAEE,2BAAA;EACA,wBAAA;EE6EH;AF3DD;EGtDI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EAEA,wHAAA;ECnBF,qEAAA;EJiCA,6BAAA;EACA,uBAAA;EEuGD;AFrGC;;EAEE,2BAAA;EACA,8BAAA;EEuGH;AFpGC;;EAEE,2BAAA;EACA,uBAAA;EEsGH;AFnGC;;EAEE,2BAAA;EACA,wBAAA;EEqGH;AFlFD;EGvDI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EAEA,wHAAA;ECnBF,qEAAA;EJiCA,6BAAA;EACA,uBAAA;EE+HD;AF7HC;;EAEE,2BAAA;EACA,8BAAA;EE+HH;AF5HC;;EAEE,2BAAA;EACA,uBAAA;EE8HH;AF3HC;;EAEE,2BAAA;EACA,wBAAA;EE6HH;AFnGD;;ECfE,oDAAA;EACQ,4CAAA;ECsHT;AF9FD;;EGxEI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;EHuEF,2BAAA;EEoGD;AFlGD;;;EG7EI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;EH6EF,2BAAA;EEwGD;AF/FD;EG1FI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;ECnBF,qEAAA;EJ4GA,oBAAA;EC9CA,6FAAA;EACQ,qFAAA;ECoJT;AF1GD;;EG1FI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA ;EACA,6BAAA;EACA,wHAAA;EF2CF,0DAAA;EACQ,kDAAA;EC8JT;AFvGD;;EAEE,gDAAA;EEyGD;AFrGD;EG7GI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;ECnBF,qEAAA;EFyOD;AF7GD;;EG7GI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;EF2CF,yDAAA;EACQ,iDAAA;ECoLT;AFvHD;;EAYI,2CAAA;EE+GH;AF1GD;;;EAGE,kBAAA;EE4GD;AF5FD;EAVI;;;IAGE,aAAA;IG1IF,0EAAA;IACA,qEAAA;IACA,+FAAA;IAAA,wEAAA;IACA,6BAAA;IACA,wHAAA;IDoPD;EACF;AFnGD;EACE,+CAAA;ECxGA,4FAAA;EACQ,oFAAA;EC8MT;AF3FD;EGnKI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;EH2JF,uBAAA;EEuGD;AFlGD;EGpKI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;EH2JF,uBAAA;EE+GD;AFzGD;EGrKI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;EH2JF,uBAAA;EEuHD;AFhHD;EGtKI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;EH2JF,uBAAA;EE+HD;AFhHD;EG9KI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;EDiSH;AF7GD;EGxLI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;EDwSH;AFnHD;EGz LI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;ED+SH;AFzHD;EG1LI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;EDsTH;AF/HD;EG3LI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;ED6TH;AFrID;EG5LI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;EDoUH;AFxID;EG/JI,+MAAA;EACA,0MAAA;EACA,uMAAA;ED0SH;AFpID;EACE,oBAAA;EC3JA,oDAAA;EACQ,4CAAA;ECkST;AFrID;;;EAGE,+BAAA;EGhNE,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;EH8MF,uBAAA;EE2ID;AFhJD;;;EAQI,mBAAA;EE6IH;AFnID;EChLE,mDAAA;EACQ,2CAAA;ECsTT;AF7HD;EGzOI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;EDyWH;AFnID;EG1OI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;EDgXH;AFzID;EG3OI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;EDuXH;AF/ID;EG5OI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;ED8XH;AFrJD;EG7OI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;EDqYH;AF3JD;EG9OI,0EAAA;EACA,qEAAA;EACA,+FAAA ;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;ED4YH;AF3JD;EGrPI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;EHmPF,uBAAA;ECxMA,2FAAA;EACQ,mFAAA;EC0WT","file":"bootstrap-theme.css","sourcesContent":["\n//\n// Load core variables and mixins\n// --\n\n@import \"variables.less\";\n@import \"mixins.less\";\n\n\n//\n// Buttons\n// --\n\n// Common styles\n.btn-default,\n.btn-primary,\n.btn-success,\n.btn-info,\n.btn-warning,\n.btn-danger {\n text-shadow: 0 -1px 0 rgba(0,0,0,.2);\n @shadow: inset 0 1px 0 rgba(255,255,255,.15),
[17/51] [partial] storm git commit: merge STORM-950 into asf-site. This closes #670
http://git-wip-us.apache.org/repos/asf/storm/blob/1d09012e/_site/images/spout.svg -- diff --git a/_site/images/spout.svg b/_site/images/spout.svg new file mode 100644 index 000..0105957 --- /dev/null +++ b/_site/images/spout.svg @@ -0,0 +1,833 @@ + + + +http://www.openswatchbook.org/uri/2009/osb; + xmlns:dc="http://purl.org/dc/elements/1.1/; + xmlns:cc="http://creativecommons.org/ns#; + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#; + xmlns:svg="http://www.w3.org/2000/svg; + xmlns="http://www.w3.org/2000/svg; + xmlns:xlink="http://www.w3.org/1999/xlink; + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd; + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape; + width="652.63159" + height="196.05263" + id="svg2" + version="1.1" + inkscape:version="0.48.5 r10040" + sodipodi:docname="spout.svg" + inkscape:export-filename="/Users/evans/src/storm/docs/images/spout.png" + inkscape:export-xdpi="88.139603" + inkscape:export-ydpi="88.139603"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +image/svg+xml +http://purl.org/dc/dcmitype/StillImage; /> + + + + + + + + + + + + + + + + + + + + + Tuple + + + + Tuple + + + + Tuple + + + + Tuple + + + + Tuple + + + + Tuple + + + + Tuple + + + + + + + + + +Tuple + +Tuple + +Tuple + +Tuple + +Tuple + +Tuple + +Tuple + + + + + http://git-wip-us.apache.org/repos/asf/storm/blob/1d09012e/_site/images/storm-cluster.png -- diff --git a/_site/images/storm-cluster.png b/_site/images/storm-cluster.png new file mode 100644 index 000..df2ddb8 Binary files /dev/null and b/_site/images/storm-cluster.png differ http://git-wip-us.apache.org/repos/asf/storm/blob/1d09012e/_site/images/storm-flow.png -- diff --git a/_site/images/storm-flow.png b/_site/images/storm-flow.png new file mode 100644 index 000..45df814 Binary files /dev/null and b/_site/images/storm-flow.png differ
[26/51] [partial] storm git commit: merge STORM-950 into asf-site. This closes #670
http://git-wip-us.apache.org/repos/asf/storm/blob/1d09012e/_site/documentation/Storm-multi-language-protocol-(versions-0.7.0-and-below).html -- diff --git a/_site/documentation/Storm-multi-language-protocol-(versions-0.7.0-and-below).html b/_site/documentation/Storm-multi-language-protocol-(versions-0.7.0-and-below).html new file mode 100644 index 000..20172c2 --- /dev/null +++ b/_site/documentation/Storm-multi-language-protocol-(versions-0.7.0-and-below).html @@ -0,0 +1,263 @@ + + + + + + + + + + +Storm Multi-Lang Protocol (Versions 0.7.0 and below) + + + + + + + +http://fortawesome.github.io/Font-Awesome/assets/font-awesome/css/font-awesome.css;> + + + + + + + + + + + + + + + + + + + + + + + + Download + + + + + + + + + + + + + + + + + + Home +Getting Help +Project Information +Documentation +Talks and Slideshows + +Contribute + +Getting Started +ByLaws + + +News + + + + + + + + +Storm Multi-Lang Protocol (Versions 0.7.0 and below) + + + + + + +This page explains the multilang protocol for versions 0.7.0 and below. The protocol changed in version 0.7.1. + +Storm Multi-Language Protocol + +The ShellBolt + +Support for multiple languages is implemented via the ShellBolt class. This +class implements the IBolt interfaces and implements the protocol for +executing a script or program via the shell using Javas ProcessBuilder class. + +Output fields + +Output fields are part of the Thrift definition of the topology. This means that when you multilang in Java, you need to create a bolt that extends ShellBolt, implements IRichBolt, and declared the fields in declareOutputFields. +You can learn more about this on Concepts + +Protocol Preamble + +A simple protocol is implemented via the STDIN and STDOUT of the executed +script or program. A mix of simple strings and JSON encoded data are exchanged +with the process making support possible for pretty much any language. + +Packaging Your Stuff + +To run a ShellBolt on a cluster, the scripts that are shelled out to must be +in the resources/ directory within the jar submitted to the master. + +However, During development or testing on a local machine, the resources +directory just needs to be on the classpath. + +The Protocol + +Notes: +* Both ends of this protocol use a line-reading mechanism, so be sure to +trim off newlines from the input and to append them to your output. +* All JSON inputs and outputs are terminated by a single line contained end. +* The bullet points below are written from the perspective of the script writers +STDIN and STDOUT. + + +Your script will be executed by the Bolt. +STDIN: A string representing a path. This is a PID directory. +Your script should create an empty file named with its pid in this directory. e.g. +the PID is 1234, so an empty file named 1234 is created in the directory. This +file lets the supervisor know the PID so it can shutdown the process later on. +STDOUT: Your PID. This is not JSON encoded, just a string. ShellBolt will log the PID to its log. +STDIN: (JSON) The Storm configuration. Various settings and properties. +STDIN: (JSON) The Topology context +The rest happens in a while(true) loop +STDIN: A tuple! This is a JSON encoded structure like this: + +{ +// The tuples id +id: -6955786537413359385, +// The id of the component that created this tuple +comp: 1, +// The id of the stream this tuple was emitted to +stream: 1, +// The id of the task that created this tuple +task: 9, +// All the values in this tuple +tuple: [snow white and the seven dwarfs, field2, 3] +} + + +STDOUT: The results of your bolt, JSON encoded. This can be a sequence of acks, fails, emits, and/or logs. Emits look like: + +{ +command: emit, +// The ids of the tuples this output tuples should be anchored to +anchors: [1231231, -234234234], +// The id of the stream this tuple was emitted to. Leave this empty to emit to default stream. +stream: 1, +// If doing an emit direct, indicate the task to sent the tuple to +task: 9, +// All the values in this tuple +tuple: [field1, 2, 3] +} + +An ack looks like: +{ +command: ack, +// the id of the tuple to ack +id: 123123 +} + +A fail looks like: +{ +command: fail, +// the id of the tuple to fail +id:
[16/51] [partial] storm git commit: merge STORM-950 into asf-site. This closes #670
http://git-wip-us.apache.org/repos/asf/storm/blob/1d09012e/_site/images/storm.svg -- diff --git a/_site/images/storm.svg b/_site/images/storm.svg new file mode 100644 index 000..2f1dae0 --- /dev/null +++ b/_site/images/storm.svg @@ -0,0 +1,1326 @@ + + + +http://www.openswatchbook.org/uri/2009/osb; + xmlns:dc="http://purl.org/dc/elements/1.1/; + xmlns:cc="http://creativecommons.org/ns#; + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#; + xmlns:svg="http://www.w3.org/2000/svg; + xmlns="http://www.w3.org/2000/svg; + xmlns:xlink="http://www.w3.org/1999/xlink; + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd; + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape; + width="1025.6578" + height="372.9339" + id="svg2" + version="1.1" + inkscape:version="0.48.5 r10040" + sodipodi:docname="storm.svg"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +image/svg+xml +http://purl.org/dc/dcmitype/StillImage; /> + + + + + + + + + + + + + +Tuple + + + +Tuple + + + +Tuple + + + +Tuple + + + +Tuple + + + +Tuple + + + +Tuple + + + + + + + + + + + + + + + + + + + + Tuple + + Tuple + + Tuple + + Tuple + + Tuple + + Tuple + + Tuple + + + + + + + Tuple + + Tuple + + Tuple + + Tuple + + + + + + + Tuple + + Tuple + + Tuple + + + + + + + Tuple + + Tuple + + Tuple + + + + http://git-wip-us.apache.org/repos/asf/storm/blob/1d09012e/_site/images/storm_header.png -- diff --git a/_site/images/storm_header.png b/_site/images/storm_header.png new file mode 100644 index 000..3a4c58a Binary files /dev/null and b/_site/images/storm_header.png differ
[27/51] [partial] storm git commit: merge STORM-950 into asf-site. This closes #670
http://git-wip-us.apache.org/repos/asf/storm/blob/1d09012e/_site/documentation/Running-topologies-on-a-production-cluster.html -- diff --git a/_site/documentation/Running-topologies-on-a-production-cluster.html b/_site/documentation/Running-topologies-on-a-production-cluster.html new file mode 100644 index 000..da2189a --- /dev/null +++ b/_site/documentation/Running-topologies-on-a-production-cluster.html @@ -0,0 +1,222 @@ + + + + + + + + + + +Running Topologies on a Production Cluster + + + + + + + +http://fortawesome.github.io/Font-Awesome/assets/font-awesome/css/font-awesome.css;> + + + + + + + + + + + + + + + + + + + + + + + + Download + + + + + + + + + + + + + + + + + + Home +Getting Help +Project Information +Documentation +Talks and Slideshows + +Contribute + +Getting Started +ByLaws + + +News + + + + + + + + +Running Topologies on a Production Cluster + + + + + + +Running topologies on a production cluster is similar to running in Local mode. Here are the steps: + +1) Define the topology (Use TopologyBuilder if defining using Java) + +2) Use StormSubmitter to submit the topology to the cluster. StormSubmitter takes as input the name of the topology, a configuration for the topology, and the topology itself. For example: +Config conf = new Config(); +conf.setNumWorkers(20); +conf.setMaxSpoutPending(5000); +StormSubmitter.submitTopology(mytopology, conf, topology); + +3) Create a jar containing your code and all the dependencies of your code (except for Storm -- the Storm jars will be added to the classpath on the worker nodes). + +If youre using Maven, the http://maven.apache.org/plugins/maven-assembly-plugin/;>Maven Assembly Plugin can do the packaging for you. Just add this to your pom.xml: + plugin +artifactIdmaven-assembly-plugin/artifactId +configuration + descriptorRefs +descriptorRefjar-with-dependencies/descriptorRef + /descriptorRefs + archive +manifest + mainClasscom.path.to.main.Class/mainClass +/manifest + /archive +/configuration + /plugin + +Then run mvn assembly:assembly to get an appropriately packaged jar. Make sure you http://maven.apache.org/plugins/maven-assembly-plugin/examples/single/including-and-excluding-artifacts.html;>exclude the Storm jars since the cluster already has Storm on the classpath. + +4) Submit the topology to the cluster using the storm client, specifying the path to your jar, the classname to run, and any arguments it will use: + +storm jar path/to/allmycode.jar org.me.MyTopology arg1 arg2 arg3 + +storm jar will submit the jar to the cluster and configure the StormSubmitter class to talk to the right cluster. In this example, after uploading the jar storm jar calls the main function on org.me.MyTopology with the arguments arg1, arg2, and arg3. + +You can find out how to configure your storm client to talk to a Storm cluster on Setting up development environment. + +Common configurations + +There are a variety of configurations you can set per topology. A list of all the configurations you can set can be found here. The ones prefixed with TOPOLOGY can be overridden on a topology-specific basis (the other ones are cluster configurations and cannot be overridden). Here are some common ones that are set for a topology: + + +Config.TOPOLOGY_WORKERS: This sets the number of worker processes to use to execute the topology. For example, if you set this to 25, there will be 25 Java processes across the cluster executing all the tasks. If you had a combined 150 parallelism across all components in the topology, each worker process will have 6 tasks running within it as threads. +Config.TOPOLOGY_ACKER_EXECUTORS: This sets the number of executors that will track tuple trees and detect when a spout tuple has been fully processed. Ackers are an integral part of Storms reliability model and you can read more about them on Guaranteeing message processing. By not setting this variable or setting it as null, Storm will set the number of acker executors to be equal to the number of workers configured for this topology. If this variable is set to 0, then Storm will immediately ack tuples as soon as they come off the spout, effectively disabling reliability. +Config.TOPOLOGY_MAX_SPOUT_PENDING:
[14/51] [partial] storm git commit: merge STORM-950 into asf-site. This closes #670
http://git-wip-us.apache.org/repos/asf/storm/blob/1d09012e/_site/index.html -- diff --git a/_site/index.html b/_site/index.html new file mode 100644 index 000..8a6d05d --- /dev/null +++ b/_site/index.html @@ -0,0 +1,246 @@ + + + + + + + + + + +Storm Home + + + + + + + +http://fortawesome.github.io/Font-Awesome/assets/font-awesome/css/font-awesome.css;> + + + + + + + + + + + + + + + + + + + + + + + + Download + + + + + + + + + + + + + + + + + + Home +Getting Help +Project Information +Documentation +Talks and Slideshows + +Contribute + +Getting Started +ByLaws + + +News + + + + + + + + +Storm Home + + + + + + + + + + + + + + + + + + + +Latest News + + +Storm 0.10.0-beta Released (15 Jun 2015) +Storm 0.9.5 released (04 Jun 2015) +Storm 0.9.4 released (25 Mar 2015) +Storm 0.9.3 released (25 Nov 2014) +Storm 0.9.3 release candidate 1 available (20 Oct 2014) +Storm 0.9.2 released (25 Jun 2014) +Storm Logo Contest Results (17 Jun 2014) + +More News + + + + + + +Why use Storm? + Apache Storm is a free and open source distributed realtime computation system. Storm makes it easy to reliably process unbounded streams of data, doing for realtime processing what Hadoop did for batch processing. Storm is simple, can be used with any programming language, and is a lot of fun to use! +Storm has many use cases: realtime analytics, online machine learning, continuous computation, distributed RPC, ETL, and more. Storm is fast: a benchmark clocked it at over a million tuples processed per second per node. It is scalable, fault-tolerant, guarantees your data will be processed, and is easy to set up and operate. +Storm integrates with the queueing and database technologies you already use. A Storm topology consumes streams of data and processes those streams in arbitrarily complex ways, repartitioning the streams between each stage of the computation however needed. Read more in the tutorial. + + + + + +https://twitter.com/ApacheStorm; +data-widget-id="610710246395265024"> +Tweets + +!function(d,s,id){ +var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+"://platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs"); +isMobile(); + + + + + + + +http://www.yahoo.com/; target="blank"> +http://www.twitter.com/; target="blank"> +http://www.spotify.com/; target="blank"> +http://www.yahoo.co.jp/; target="blank"> +http://www.yelp.com/; target="blank"> +http://flipboard.com/; target="blank"> +http://www.ooyala.com/; target="blank"> +http://groupon.com/; target="blank"> +http://www.parc.com/; target="blank"> +http://www.alibaba.com/; target="blank"> +http://www.baidu.com/; target="blank"> +http://www.cerner.com/; target="blank"> +http://www.fullcontact.com/; target="blank"> +http://www.healthmarketscience.com/; target="blank"> +http://www.infochimps.com/; target="blank"> +http://www.klout.com/; target="blank"> +
[08/51] [partial] storm git commit: merge STORM-950 into asf-site. This closes #670
http://git-wip-us.apache.org/repos/asf/storm/blob/1d09012e/assets/css/font-awesome.min.css -- diff --git a/assets/css/font-awesome.min.css b/assets/css/font-awesome.min.css new file mode 100644 index 000..24fcc04 --- /dev/null +++ b/assets/css/font-awesome.min.css @@ -0,0 +1,4 @@ +/*! + * Font Awesome 4.3.0 by @davegandy - http://fontawesome.io - @fontawesome + * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) + */@font-face{font-family:'FontAwesome';src:url('../fonts/fontawesome-webfont.eot?v=4.3.0');src:url('../fonts/fontawesome-webfont.eot?#iefix=4.3.0') format('embedded-opentype'),url('../fonts/fontawesome-webfont.woff2?v=4.3.0') format('woff2'),url('../fonts/fontawesome-webfont.woff?v=4.3.0') format('woff'),url('../fonts/fontawesome-webfont.ttf?v=4.3.0') format('truetype'),url('../fonts/fontawesome-webfont.svg?v=4.3.0#fontawesomeregular') format('svg');font-weight:normal;font-style:normal}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transform:translate(0, 0)}.fa-lg{font-size:1.em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{p osition:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1);-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{filter:progid:DXImageTransform.Micr osoft.BasicImage(rotation=2);-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3);-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1);-webkit-transform:scale(-1, 1);-ms-transform:scale(-1, 1);transform:scale(-1, 1)}.fa-flip-vertical{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1);-webkit-transform:scale(1, -1);-ms-transform:scale(1, -1);transform:scale(1, -1)}:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size :2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-remove:before,.fa-close:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-gear:before,.fa-cog:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o
[42/51] [partial] storm git commit: merge STORM-950 into asf-site. This closes #670
http://git-wip-us.apache.org/repos/asf/storm/blob/1d09012e/_site/assets/css/bootstrap.css -- diff --git a/_site/assets/css/bootstrap.css b/_site/assets/css/bootstrap.css new file mode 100644 index 000..680e768 --- /dev/null +++ b/_site/assets/css/bootstrap.css @@ -0,0 +1,6800 @@ +/*! + * Bootstrap v3.3.5 (http://getbootstrap.com) + * Copyright 2011-2015 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ +/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */ +html { + font-family: sans-serif; + -webkit-text-size-adjust: 100%; + -ms-text-size-adjust: 100%; +} +body { + margin: 0; +} +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +main, +menu, +nav, +section, +summary { + display: block; +} +audio, +canvas, +progress, +video { + display: inline-block; + vertical-align: baseline; +} +audio:not([controls]) { + display: none; + height: 0; +} +[hidden], +template { + display: none; +} +a { + background-color: transparent; +} +a:active, +a:hover { + outline: 0; +} +abbr[title] { + border-bottom: 1px dotted; +} +b, +strong { + font-weight: bold; +} +dfn { + font-style: italic; +} +h1 { + margin: .67em 0; + font-size: 2em; +} +mark { + color: #000; + background: #ff0; +} +small { + font-size: 80%; +} +sub, +sup { + position: relative; + font-size: 75%; + line-height: 0; + vertical-align: baseline; +} +sup { + top: -.5em; +} +sub { + bottom: -.25em; +} +img { + border: 0; +} +svg:not(:root) { + overflow: hidden; +} +figure { + margin: 1em 40px; +} +hr { + height: 0; + -webkit-box-sizing: content-box; + -moz-box-sizing: content-box; + box-sizing: content-box; +} +pre { + overflow: auto; +} +code, +kbd, +pre, +samp { + font-family: monospace, monospace; + font-size: 1em; +} +button, +input, +optgroup, +select, +textarea { + margin: 0; + font: inherit; + color: inherit; +} +button { + overflow: visible; +} +button, +select { + text-transform: none; +} +button, +html input[type="button"], +input[type="reset"], +input[type="submit"] { + -webkit-appearance: button; + cursor: pointer; +} +button[disabled], +html input[disabled] { + cursor: default; +} +button::-moz-focus-inner, +input::-moz-focus-inner { + padding: 0; + border: 0; +} +input { + line-height: normal; +} +input[type="checkbox"], +input[type="radio"] { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + padding: 0; +} +input[type="number"]::-webkit-inner-spin-button, +input[type="number"]::-webkit-outer-spin-button { + height: auto; +} +input[type="search"] { + -webkit-box-sizing: content-box; + -moz-box-sizing: content-box; + box-sizing: content-box; + -webkit-appearance: textfield; +} +input[type="search"]::-webkit-search-cancel-button, +input[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} +fieldset { + padding: .35em .625em .75em; + margin: 0 2px; + border: 1px solid #c0c0c0; +} +legend { + padding: 0; + border: 0; +} +textarea { + overflow: auto; +} +optgroup { + font-weight: bold; +} +table { + border-spacing: 0; + border-collapse: collapse; +} +td, +th { + padding: 0; +} +/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */ +@media print { + *, + *:before, + *:after { +color: #000 !important; +text-shadow: none !important; +background: transparent !important; +-webkit-box-shadow: none !important; +box-shadow: none !important; + } + a, + a:visited { +text-decoration: underline; + } + a[href]:after { +content: " (" attr(href) ")"; + } + abbr[title]:after { +content: " (" attr(title) ")"; + } + a[href^="#"]:after, + a[href^="javascript:"]:after { +content: ""; + } + pre, + blockquote { +border: 1px solid #999; + +page-break-inside: avoid; + } + thead { +display: table-header-group; + } + tr, + img { +page-break-inside: avoid; + } + img { +max-width: 100% !important; + } + p, + h2, + h3 { +orphans: 3; +widows: 3; + } + h2, + h3 { +page-break-after: avoid; + } + .navbar { +display: none; + } + .btn > .caret, + .dropup > .btn > .caret { +border-top-color: #000 !important; + } + .label { +border: 1px solid #000; + } + .table { +border-collapse: collapse !important; + } + .table td, + .table th { +background-color: #fff !important; + } + .table-bordered th, + .table-bordered td { +border: 1px solid #ddd !important; + } +} +@font-face { + font-family: 'Glyphicons Halflings'; + + src: url('../fonts/glyphicons-halflings-regular.eot'); + src: url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('../fonts/glyphicons-halflings-regular.woff2') format('woff2'), url('../fonts/glyphicons-halflings-regular.woff')
[07/51] [partial] storm git commit: merge STORM-950 into asf-site. This closes #670
http://git-wip-us.apache.org/repos/asf/storm/blob/1d09012e/assets/fonts/glyphicons-halflings-regular.svg -- diff --git a/assets/fonts/glyphicons-halflings-regular.svg b/assets/fonts/glyphicons-halflings-regular.svg new file mode 100644 index 000..25691af --- /dev/null +++ b/assets/fonts/glyphicons-halflings-regular.svg @@ -0,0 +1,229 @@ + +http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd; > +http://www.w3.org/2000/svg;> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file http://git-wip-us.apache.org/repos/asf/storm/blob/1d09012e/assets/fonts/glyphicons-halflings-regular.ttf -- diff --git a/assets/fonts/glyphicons-halflings-regular.ttf b/assets/fonts/glyphicons-halflings-regular.ttf new file mode 100644 index 000..67fa00b Binary files /dev/null and b/assets/fonts/glyphicons-halflings-regular.ttf differ http://git-wip-us.apache.org/repos/asf/storm/blob/1d09012e/assets/fonts/glyphicons-halflings-regular.woff -- diff --git a/assets/fonts/glyphicons-halflings-regular.woff b/assets/fonts/glyphicons-halflings-regular.woff new file mode 100644 index 000..8c54182 Binary files /dev/null and b/assets/fonts/glyphicons-halflings-regular.woff differ
[29/51] [partial] storm git commit: merge STORM-950 into asf-site. This closes #670
http://git-wip-us.apache.org/repos/asf/storm/blob/1d09012e/_site/documentation/Lifecycle-of-a-topology.html -- diff --git a/_site/documentation/Lifecycle-of-a-topology.html b/_site/documentation/Lifecycle-of-a-topology.html new file mode 100644 index 000..781029b --- /dev/null +++ b/_site/documentation/Lifecycle-of-a-topology.html @@ -0,0 +1,271 @@ + + + + + + + + + + +Lifecycle of a Storm Topology + + + + + + + +http://fortawesome.github.io/Font-Awesome/assets/font-awesome/css/font-awesome.css;> + + + + + + + + + + + + + + + + + + + + + + + + Download + + + + + + + + + + + + + + + + + + Home +Getting Help +Project Information +Documentation +Talks and Slideshows + +Contribute + +Getting Started +ByLaws + + +News + + + + + + + + +Lifecycle of a Storm Topology + + + + + + +(NOTE: this page is based on the 0.7.1 code; many things have changed since then, including a split between tasks and executors, and a reorganization of the code under storm-core/src rather than src/.) + +This page explains in detail the lifecycle of a topology from running the storm jar command to uploading the topology to Nimbus to the supervisors starting/stopping workers to workers and tasks setting themselves up. It also explains how Nimbus monitors topologies and how topologies are shutdown when they are killed. + +First a couple of important notes about topologies: + + +The actual topology that runs is different than the topology the user specifies. The actual topology has implicit streams and an implicit acker bolt added to manage the acking framework (used to guarantee data processing). The implicit topology is created via the https://github.com/apache/storm/blob/0.7.1/src/clj/backtype/storm/daemon/common.clj#L188;>system-topology! function. +system-topology! is used in two places: + + +when Nimbus is creating tasks for the topology https://github.com/apache/storm/blob/0.7.1/src/clj/backtype/storm/daemon/nimbus.clj#L316;>code +in the worker so it knows where it needs to route messages to https://github.com/apache/storm/blob/0.7.1/src/clj/backtype/storm/daemon/worker.clj#L90;>code + + + +Starting a topology + + +storm jar command executes your class with the specified arguments. The only special thing that storm jar does is set the storm.jar environment variable for use by StormSubmitter later. https://github.com/apache/storm/blob/0.7.1/bin/storm#L101;>code +When your code uses StormSubmitter.submitTopology, StormSubmitter takes the following actions: + + +First, StormSubmitter uploads the jar if it hasnt been uploaded before. https://github.com/apache/storm/blob/0.7.1/src/jvm/backtype/storm/StormSubmitter.java#L83;>code +Jar uploading is done via Nimbuss Thrift interface https://github.com/apache/storm/blob/0.7.1/src/storm.thrift#L200;>code +beginFileUpload returns a path in Nimbuss inbox +15 kilobytes are uploaded at a time through uploadChunk +finishFileUpload is called when its finished uploading +Here is Nimbuss implementation of those Thrift methods: https://github.com/apache/storm/blob/0.7.1/src/clj/backtype/storm/daemon/nimbus.clj#L694;>code +Second, StormSubmitter calls submitTopology on the Nimbus thrift interface https://github.com/apache/storm/blob/0.7.1/src/jvm/backtype/storm/StormSubmitter.java#L60;>code +The topology config is serialized using JSON (JSON is used so that writing DSLs in any language is as easy as possible) +Notice that the Thrift submitTopology call takes in the Nimbus inbox path where the jar was uploaded + +Nimbus receives the topology submission. https://github.com/apache/storm/blob/0.7.1/src/clj/backtype/storm/daemon/nimbus.clj#L639;>code +Nimbus normalizes the topology configuration. The main purpose of normalization is to ensure that every single task will have the same serialization registrations, which is critical for getting serialization working correctly. https://github.com/apache/storm/blob/0.7.1/src/clj/backtype/storm/daemon/nimbus.clj#L557;>code +Nimbus sets up the static state for the topology https://github.com/apache/storm/blob/0.7.1/src/clj/backtype/storm/daemon/nimbus.clj#L661;>code + + +Jars and configs are kept on local filesystem because theyre too big for Zookeeper. The jar and configs are copied into the path {nimbus local dir}/stormdist/{topology id} +setup-storm-static
[21/51] [partial] storm git commit: merge STORM-950 into asf-site. This closes #670
http://git-wip-us.apache.org/repos/asf/storm/blob/1d09012e/_site/feed.xml -- diff --git a/_site/feed.xml b/_site/feed.xml new file mode 100644 index 000..51b67da --- /dev/null +++ b/_site/feed.xml @@ -0,0 +1,870 @@ + +http://www.w3.org/2005/Atom;> + +Apache Storm + +http://storm.apache.org/ +http://storm.apache.org/feed.xml; rel="self" type="application/rss+xml"/> +Fri, 11 Sep 2015 14:11:13 -0400 +Fri, 11 Sep 2015 14:11:13 -0400 +Jekyll v2.5.3 + + +Storm 0.10.0 Beta Released +pFast on the heals of the 0.9.5 maintenance release, the Apache Storm community is pleased to announce that Apache Storm 0.10.0-beta has been released and is now available on a href=/downloads.htmlthe downloads page/a./p + +pAside from many stability and performance improvements, this release includes a number of important new features, some of which are highlighted below./p + +h2 id=secure,-multi-tenant-deploymentSecure, Multi-Tenant Deployment/h2 + +pMuch like the early days of Hadoop, Apache Storm originally evolved in an environment where security was not a high-priority concern. Rather, it was assumed that Storm would be deployed to environments suitably cordoned off from security threats. While a large number of users were comfortable setting up their own security measures for Storm (usually at the Firewall/OS level), this proved a hindrance to broader adoption among larger enterprises where security policies prohibited deployment without specific safeguards./p + +pYahoo! hosts one of the largest Storm deployments in the world, and their engineering team recognized the need for security early on, so it implemented many of the features necessary to secure its own Apache Storm deployment. Yahoo!, Hortonworks, Symantec, and the broader Apache Storm community have worked together to bring those security innovations into the main Apache Storm code base./p + +pWe are pleased to announce that work is now complete. Some of the highlights of Storm#39;s new security features include:/p + +ul +liKerberos Authentication with Automatic Credential Push and Renewal/li +liPluggable Authorization and ACLs/li +liMulti-Tenant Scheduling with Per-User isolation and configurable resource limits./li +liUser Impersonation/li +liSSL Support for Storm UI, Log Viewer, and DRPC (Distributed Remote Procedure Call)/li +liSecure integration with other Hadoop Projects (such as ZooKeeper, HDFS, HBase, etc.)/li +liUser isolation (Storm topologies run as the user who submitted them)/li +/ul + +pFor more details and instructions for securing Storm, please see a href=https://github.com/apache/storm/blob/v0.10.0-beta/SECURITY.mdthe security documentation/a./p + +h2 id=a-foundation-for-rolling-upgrades-and-continuity-of-operationsA Foundation for Rolling Upgrades and Continuity of Operations/h2 + +pIn the past, upgrading a Storm cluster could be an arduous process that involved un-deploying existing topologies, removing state from local disk and ZooKeeper, installing the upgrade, and finally redeploying topologies. From an operations perspective, this process was disruptive to say the very least./p + +pThe underlying cause of this headache was rooted in the data format Storm processes used to store both local and distributed state. Between versions, these data structures would change in incompatible ways./p + +pBeginning with version 0.10.0, this limitation has been eliminated. In the future, upgrading from Storm 0.10.0 to a newer version can be accomplished seamlessly, with zero down time. In fact, for users who use a href=https://ambari.apache.orgApache Ambari/a for cluster provisioning and management, the process can be completely automated./p + +h2 id=easier-deployment-and-declarative-topology-wiring-with-fluxEasier Deployment and Declarative Topology Wiring with Flux/h2 + +pApache Storm 0.10.0 now includes Flux, which is a framework and set of utilities that make defining and deploying Storm topologies less painful and developer-intensive. A common pain point mentioned by Storm users is the fact that the wiring for a Topology graph is often tied up in Java code, and that any changes require recompilation and repackaging of the topology jar file. Flux aims to alleviate that pain by allowing you to package all your Storm components in a single jar, and use an external text file to define the layout and configuration of your topologies./p + +pSome of Flux#39; features include:/p + +ul +liEasily configure and deploy Storm topologies (Both Storm core and Micro-batch API) without embedding configuration in your topology code/li +liSupport for existing topology code/li +liDefine Storm Core API (Spouts/Bolts) using a flexible YAML DSL/li +liYAML DSL support for most Storm components (storm-kafka, storm-hdfs, storm-hbase, etc.)/li +liConvenient support for multi-lang components/li
[09/51] [partial] storm git commit: merge STORM-950 into asf-site. This closes #670
http://git-wip-us.apache.org/repos/asf/storm/blob/1d09012e/assets/css/bootstrap.min.css -- diff --git a/assets/css/bootstrap.min.css b/assets/css/bootstrap.min.css new file mode 100644 index 000..b6fe4e0 --- /dev/null +++ b/assets/css/bootstrap.min.css @@ -0,0 +1,5 @@ +/*! + * Bootstrap v3.3.1 (http://getbootstrap.com) + * Copyright 2011-2014 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + *//*! normalize.css v3.0.2 | MIT License | git.io/normalize */html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{margin:.67em 0;font-size:2em}mark{color:#000;background:#ff0}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{height:0;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}butt on,input,optgroup,select,textarea{margin:0;font:inherit;color:inherit}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}input{line-height:normal}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{padding:.35em .625em .75em;margin:0 2px;border:1px solid silver}legend{padding:0;border:0}textarea{overflow:auto}optgroup{fo nt-weight:700}table{border-spacing:0;border-collapse:collapse}td,th{padding:0}/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */@media print{*,:before,:after{color:#000!important;text-shadow:none!important;background:transparent!important;-webkit-box-shadow:none!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="#"]:after,a[href^="javascript:"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100%!important}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}select{background:#fff!important}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered th,.table- bordered td{border:1px solid #ddd!important}}@font-face{font-family:'Glyphicons Halflings';src:url(../fonts/glyphicons-halflings-regular.eot);src:url(../fonts/glyphicons-halflings-regular.eot?#iefix) format('embedded-opentype'),url(../fonts/glyphicons-halflings-regular.woff) format('woff'),url(../fonts/glyphicons-halflings-regular.ttf) format('truetype'),url(../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular) format('svg')}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-style:normal;font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\2a"}.glyphicon-plus:before{content:"\2b"}.glyphicon-euro:before,.glyphicon-eur:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001
[03/51] [partial] storm git commit: merge STORM-950 into asf-site. This closes #670
http://git-wip-us.apache.org/repos/asf/storm/blob/1d09012e/assets/js/npm.js -- diff --git a/assets/js/npm.js b/assets/js/npm.js new file mode 100644 index 000..bf6aa80 --- /dev/null +++ b/assets/js/npm.js @@ -0,0 +1,13 @@ +// This file is autogenerated via the `commonjs` Grunt task. You can require() this file in a CommonJS environment. +require('../../js/transition.js') +require('../../js/alert.js') +require('../../js/button.js') +require('../../js/carousel.js') +require('../../js/collapse.js') +require('../../js/dropdown.js') +require('../../js/modal.js') +require('../../js/tooltip.js') +require('../../js/popover.js') +require('../../js/scrollspy.js') +require('../../js/tab.js') +require('../../js/affix.js') \ No newline at end of file http://git-wip-us.apache.org/repos/asf/storm/blob/1d09012e/assets/js/owl.carousel.min.js -- diff --git a/assets/js/owl.carousel.min.js b/assets/js/owl.carousel.min.js new file mode 100644 index 000..394505e --- /dev/null +++ b/assets/js/owl.carousel.min.js @@ -0,0 +1,47 @@ +"function"!==typeof Object.create&&(Object.create=function(f){function g(){}g.prototype=f;return new g}); +(function(f,g,k){var l={init:function(a,b){this.$elem=f(b);this.options=f.extend({},f.fn.owlCarousel.options,this.$elem.data(),a);this.userOptions=a;this.loadContent()},loadContent:function(){function a(a){var d,e="";if("function"===typeof b.options.jsonSuccess)b.options.jsonSuccess.apply(this,[a]);else{for(d in a.owl)a.owl.hasOwnProperty(d)&&(e+=a.owl[d].item);b.$elem.html(e)}b.logIn()}var b=this,e;"function"===typeof b.options.beforeInit&(this,[b.$elem]);"string"===typeof b.options.jsonPath? +(e=b.options.jsonPath,f.getJSON(e,a)):b.logIn()},logIn:function(){this.$elem.data("owl-originalStyles",this.$elem.attr("style"));this.$elem.data("owl-originalClasses",this.$elem.attr("class"));this.$elem.css({opacity:0});this.orignalItems=this.options.items;this.checkBrowser();this.wrapperWidth=0;this.checkVisible=null;this.setVars()},setVars:function(){if(0===this.$elem.children().length)return!1;this.baseClass();this.eventTypes();this.$userItems=this.$elem.children();this.itemsAmount=this.$userItems.length; +this.wrapItems();this.$owlItems=this.$elem.find(".owl-item");this.$owlWrapper=this.$elem.find(".owl-wrapper");this.playDirection="next";this.prevItem=0;this.prevArr=[0];this.currentItem=0;this.customEvents();this.onStartup()},onStartup:function(){this.updateItems();this.calculateAll();this.buildControls();this.updateControls();this.response();this.moveEvents();this.stopOnHover();this.owlStatus();!1!==this.options.transitionStyle&(this.options.transitionStyle);!0===this.options.autoPlay&& +(this.options.autoPlay=5E3);this.play();this.$elem.find(".owl-wrapper").css("display","block");this.$elem.is(":visible")?this.$elem.css("opacity",1):this.watchVisibility();this.onstartup=!1;this.eachMoveUpdate();"function"===typeof this.options.afterInit&(this,[this.$elem])},eachMoveUpdate:function(){!0===this.options.lazyLoad&();!0===this.options.autoHeight&();this.onVisibleItems();"function"===typeof this.options.afterAction&(this, +[this.$elem])},updateVars:function(){"function"===typeof this.options.beforeUpdate&(this,[this.$elem]);this.watchVisibility();this.updateItems();this.calculateAll();this.updatePosition();this.updateControls();this.eachMoveUpdate();"function"===typeof this.options.afterUpdate&(this,[this.$elem])},reload:function(){var a=this;g.setTimeout(function(){a.updateVars()},0)},watchVisibility:function(){var a=this;if(!1===a.$elem.is(":visible"))a.$elem.css({opacity:0}), +g.clearInterval(a.autoPlayInterval),g.clearInterval(a.checkVisible);else return!1;a.checkVisible=g.setInterval(function(){a.$elem.is(":visible")&&(a.reload(),a.$elem.animate({opacity:1},200),g.clearInterval(a.checkVisible))},500)},wrapItems:function(){this.$userItems.wrapAll('').wrap('');this.$elem.find(".owl-wrapper").wrap('');this.wrapperOuter=this.$elem.find(".owl-wrapper-outer");this.$elem.css("display","block")}, +baseClass:function(){var a=this.$elem.hasClass(this.options.baseClass),b=this.$elem.hasClass(this.options.theme);a||this.$elem.addClass(this.options.baseClass);b||this.$elem.addClass(this.options.theme)},updateItems:function(){var a,b;if(!1===this.options.responsive)return!1;if(!0===this.options.singleItem)return this.options.items=this.orignalItems=1,this.options.itemsCustom=!1,this.options.itemsDesktop=!1,this.options.itemsDesktopSmall=!1,this.options.itemsTablet=!1,this.options.itemsTabletSmall= +!1,this.options.itemsMobile=!1;a=f(this.options.responsiveBaseWidth).width();a>(this.options.itemsDesktop[0]||this.orignalItems)&&(this.options.items=this.orignalItems);if(!1!==this.options.itemsCustom)for(this.options.itemsCustom.sort(function(a,b){return
[22/51] [partial] storm git commit: merge STORM-950 into asf-site. This closes #670
http://git-wip-us.apache.org/repos/asf/storm/blob/1d09012e/_site/documentation/Using-non-JVM-languages-with-Storm.html -- diff --git a/_site/documentation/Using-non-JVM-languages-with-Storm.html b/_site/documentation/Using-non-JVM-languages-with-Storm.html new file mode 100644 index 000..72d7651 --- /dev/null +++ b/_site/documentation/Using-non-JVM-languages-with-Storm.html @@ -0,0 +1,208 @@ + + + + + + + + + + +Using non JVM languages with Storm + + + + + + + +http://fortawesome.github.io/Font-Awesome/assets/font-awesome/css/font-awesome.css;> + + + + + + + + + + + + + + + + + + + + + + + + Download + + + + + + + + + + + + + + + + + + Home +Getting Help +Project Information +Documentation +Talks and Slideshows + +Contribute + +Getting Started +ByLaws + + +News + + + + + + + + +Using non JVM languages with Storm + + + + + + + +two pieces: creating topologies and implementing spouts and bolts in other languages +creating topologies in another language is easy since topologies are just thrift structures (link to storm.thrift) +implementing spouts and bolts in another language is called a multilang components or shelling + + +Heres a specification of the protocol: Multilang protocol +the thrift structure lets you define multilang components explicitly as a program and a script (e.g., python and the file implementing your bolt) +In Java, you override ShellBolt or ShellSpout to create multilang components + + +note that output fields declarations happens in the thrift structure, so in Java you create multilang components like the following: + + +declare fields in java, processing code in the other language by specifying it in constructor of shellbolt + + +multilang uses json messages over stdin/stdout to communicate with the subprocess +storm comes with ruby, python, and fancy adapters that implement the protocol. show an example of python + + +python supports emitting, anchoring, acking, and logging + + +storm shell command makes constructing jar and uploading to nimbus easy + + +makes jar and uploads it +calls your program with host/port of nimbus and the jarfile id + + + +Notes on implementing a DSL in a non-JVM language + +The right place to start is src/storm.thrift. Since Storm topologies are just Thrift structures, and Nimbus is a Thrift daemon, you can create and submit topologies in any language. + +When you create the Thrift structs for spouts and bolts, the code for the spout or bolt is specified in the ComponentObject struct: +union ComponentObject { + 1: binary serialized_java; + 2: ShellComponent shell; + 3: JavaObject java_object; +} + +For a non-JVM DSL, you would want to make use of 2 and 3. ShellComponent lets you specify a script to run that component (e.g., your python code). And JavaObject lets you specify native java spouts and bolts for the component (and Storm will use reflection to create that spout or bolt). + +Theres a storm shell command that will help with submitting a topology. Its usage is like this: +storm shell resources/ python topology.py arg1 arg2 + +storm shell will then package resources/ into a jar, upload the jar to Nimbus, and call your topology.py script like this: +python topology.py arg1 arg2 {nimbus-host} {nimbus-port} {uploaded-jar-location} + +Then you can connect to Nimbus using the Thrift API and submit the topology, passing {uploaded-jar-location} into the submitTopology method. For reference, heres the submitTopology definition: +void submitTopology(1: string name, 2: string uploadedJarLocation, 3: string jsonConf, 4: StormTopology topology) +throws (1: AlreadyAliveException e, 2: InvalidTopologyException ite); + + + + + + + + + + + +Meetups + +http://www.meetup.com/Apache-Storm-Apache-Kafka/;>Sunnyvale, CA (10 May 2015) +http://www.meetup.com/Apache-Storm-Kafka-Users/;>Seatle, WA (27 Jun 2015) + + + + + +About Storm +Storm integrates with any queueing system and any database system. Storm's spout abstraction makes it easy to integrate a new queuing system. Likewise,
[23/51] [partial] storm git commit: merge STORM-950 into asf-site. This closes #670
http://git-wip-us.apache.org/repos/asf/storm/blob/1d09012e/_site/documentation/Trident-tutorial.html -- diff --git a/_site/documentation/Trident-tutorial.html b/_site/documentation/Trident-tutorial.html new file mode 100644 index 000..9d16469 --- /dev/null +++ b/_site/documentation/Trident-tutorial.html @@ -0,0 +1,366 @@ + + + + + + + + + + +Trident Tutorial + + + + + + + +http://fortawesome.github.io/Font-Awesome/assets/font-awesome/css/font-awesome.css;> + + + + + + + + + + + + + + + + + + + + + + + + Download + + + + + + + + + + + + + + + + + + Home +Getting Help +Project Information +Documentation +Talks and Slideshows + +Contribute + +Getting Started +ByLaws + + +News + + + + + + + + +Trident Tutorial + + + + + + +Trident is a high-level abstraction for doing realtime computing on top of Storm. It allows you to seamlessly intermix high throughput (millions of messages per second), stateful stream processing with low latency distributed querying. If youre familiar with high level batch processing tools like Pig or Cascading, the concepts of Trident will be very familiar â Trident has joins, aggregations, grouping, functions, and filters. In addition to these, Trident adds primitives for doing stateful, incremental processing on top of any database or persistence store. Trident has consistent, exactly-once semantics, so it is easy to reason about Trident topologies. + +Illustrative example + +Lets look at an illustrative example of Trident. This example will do two things: + + +Compute streaming word count from an input stream of sentences +Implement queries to get the sum of the counts for a list of words + + +For the purposes of illustration, this example will read an infinite stream of sentences from the following source: +FixedBatchSpout spout = new FixedBatchSpout(new Fields(sentence), 3, + new Values(the cow jumped over the moon), + new Values(the man went to the store and bought some candy), + new Values(four score and seven years ago), + new Values(how many apples can you eat)); +spout.setCycle(true); + +This spout cycles through that set of sentences over and over to produce the sentence stream. Heres the code to do the streaming word count part of the computation: +TridentTopology topology = new TridentTopology(); +TridentState wordCounts = + topology.newStream(spout1, spout) + .each(new Fields(sentence), new Split(), new Fields(word)) + .groupBy(new Fields(word)) + .persistentAggregate(new MemoryMapState.Factory(), new Count(), new Fields(count)) + .parallelismHint(6); + +Lets go through the code line by line. First a TridentTopology object is created, which exposes the interface for constructing Trident computations. TridentTopology has a method called newStream that creates a new stream of data in the topology reading from an input source. In this case, the input source is just the FixedBatchSpout defined from before. Input sources can also be queue brokers like Kestrel or Kafka. Trident keeps track of a small amount of state for each input source (metadata about what it has consumed) in Zookeeper, and the spout1 string here specifies the node in Zookeeper where Trident should keep that metadata. + +Trident processes the stream as small batches of tuples. For example, the incoming stream of sentences might be divided into batches like so: + + + +Generally the size of those small batches will be on the order of thousands or millions of tuples, depending on your incoming throughput. + +Trident provides a fully fledged batch processing API to process those small batches. The API is very similar to what you see in high level abstractions for Hadoop like Pig or Cascading: you can do group bys, joins, aggregations, run functions, run filters, and so on. Of course, processing each small batch in isolation isnt that interesting, so Trident provides functions for doing aggregations across batches and persistently storing those aggregations â whether in memory, in Memcached, in Cassandra, or some other store. Finally, Trident has first-class functions for querying sources of realtime state. That state could be updated by Trident (like in this example), or it could be an
[38/51] [partial] storm git commit: merge STORM-950 into asf-site. This closes #670
http://git-wip-us.apache.org/repos/asf/storm/blob/1d09012e/_site/assets/fonts/glyphicons-halflings-regular.svg -- diff --git a/_site/assets/fonts/glyphicons-halflings-regular.svg b/_site/assets/fonts/glyphicons-halflings-regular.svg new file mode 100644 index 000..25691af --- /dev/null +++ b/_site/assets/fonts/glyphicons-halflings-regular.svg @@ -0,0 +1,229 @@ + +http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd; > +http://www.w3.org/2000/svg;> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file http://git-wip-us.apache.org/repos/asf/storm/blob/1d09012e/_site/assets/fonts/glyphicons-halflings-regular.ttf -- diff --git a/_site/assets/fonts/glyphicons-halflings-regular.ttf b/_site/assets/fonts/glyphicons-halflings-regular.ttf new file mode 100644 index 000..67fa00b Binary files /dev/null and b/_site/assets/fonts/glyphicons-halflings-regular.ttf differ http://git-wip-us.apache.org/repos/asf/storm/blob/1d09012e/_site/assets/fonts/glyphicons-halflings-regular.woff -- diff --git a/_site/assets/fonts/glyphicons-halflings-regular.woff b/_site/assets/fonts/glyphicons-halflings-regular.woff new file mode 100644 index 000..8c54182 Binary files /dev/null and b/_site/assets/fonts/glyphicons-halflings-regular.woff differ
[01/51] [partial] storm git commit: merge STORM-950 into asf-site. This closes #670
Repository: storm Updated Branches: refs/heads/asf-site [created] 1d09012e7 http://git-wip-us.apache.org/repos/asf/storm/blob/1d09012e/documentation/Lifecycle-of-a-topology.md -- diff --git a/documentation/Lifecycle-of-a-topology.md b/documentation/Lifecycle-of-a-topology.md new file mode 100644 index 000..68e5757 --- /dev/null +++ b/documentation/Lifecycle-of-a-topology.md @@ -0,0 +1,82 @@ +--- +title: Lifecycle of a Storm Topology +layout: documentation +documentation: true +--- +(**NOTE**: this page is based on the 0.7.1 code; many things have changed since then, including a split between tasks and executors, and a reorganization of the code under `storm-core/src` rather than `src/`.) + +This page explains in detail the lifecycle of a topology from running the "storm jar" command to uploading the topology to Nimbus to the supervisors starting/stopping workers to workers and tasks setting themselves up. It also explains how Nimbus monitors topologies and how topologies are shutdown when they are killed. + +First a couple of important notes about topologies: + +1. The actual topology that runs is different than the topology the user specifies. The actual topology has implicit streams and an implicit "acker" bolt added to manage the acking framework (used to guarantee data processing). The implicit topology is created via the [system-topology!](https://github.com/apache/storm/blob/0.7.1/src/clj/backtype/storm/daemon/common.clj#L188) function. +2. `system-topology!` is used in two places: + - when Nimbus is creating tasks for the topology [code](https://github.com/apache/storm/blob/0.7.1/src/clj/backtype/storm/daemon/nimbus.clj#L316) + - in the worker so it knows where it needs to route messages to [code](https://github.com/apache/storm/blob/0.7.1/src/clj/backtype/storm/daemon/worker.clj#L90) + +## Starting a topology + +- "storm jar" command executes your class with the specified arguments. The only special thing that "storm jar" does is set the "storm.jar" environment variable for use by `StormSubmitter` later. [code](https://github.com/apache/storm/blob/0.7.1/bin/storm#L101) +- When your code uses `StormSubmitter.submitTopology`, `StormSubmitter` takes the following actions: + - First, `StormSubmitter` uploads the jar if it hasn't been uploaded before. [code](https://github.com/apache/storm/blob/0.7.1/src/jvm/backtype/storm/StormSubmitter.java#L83) +- Jar uploading is done via Nimbus's Thrift interface [code](https://github.com/apache/storm/blob/0.7.1/src/storm.thrift#L200) +- `beginFileUpload` returns a path in Nimbus's inbox +- 15 kilobytes are uploaded at a time through `uploadChunk` +- `finishFileUpload` is called when it's finished uploading +- Here is Nimbus's implementation of those Thrift methods: [code](https://github.com/apache/storm/blob/0.7.1/src/clj/backtype/storm/daemon/nimbus.clj#L694) + - Second, `StormSubmitter` calls `submitTopology` on the Nimbus thrift interface [code](https://github.com/apache/storm/blob/0.7.1/src/jvm/backtype/storm/StormSubmitter.java#L60) +- The topology config is serialized using JSON (JSON is used so that writing DSL's in any language is as easy as possible) +- Notice that the Thrift `submitTopology` call takes in the Nimbus inbox path where the jar was uploaded + +- Nimbus receives the topology submission. [code](https://github.com/apache/storm/blob/0.7.1/src/clj/backtype/storm/daemon/nimbus.clj#L639) +- Nimbus normalizes the topology configuration. The main purpose of normalization is to ensure that every single task will have the same serialization registrations, which is critical for getting serialization working correctly. [code](https://github.com/apache/storm/blob/0.7.1/src/clj/backtype/storm/daemon/nimbus.clj#L557) +- Nimbus sets up the static state for the topology [code](https://github.com/apache/storm/blob/0.7.1/src/clj/backtype/storm/daemon/nimbus.clj#L661) +- Jars and configs are kept on local filesystem because they're too big for Zookeeper. The jar and configs are copied into the path {nimbus local dir}/stormdist/{topology id} +- `setup-storm-static` writes task -> component mapping into ZK +- `setup-heartbeats` creates a ZK "directory" in which tasks can heartbeat +- Nimbus calls `mk-assignment` to assign tasks to machines [code](https://github.com/apache/storm/blob/0.7.1/src/clj/backtype/storm/daemon/nimbus.clj#L458) +- Assignment record definition is here: [code](https://github.com/apache/storm/blob/0.7.1/src/clj/backtype/storm/daemon/common.clj#L25) +- Assignment contains: + - `master-code-dir`: used by supervisors to download the correct jars/configs for the topology from Nimbus + - `task->node+port`: Map from a task id to the worker that task should be running on. (A worker is identified by a node/port pair) + - `node->host`: A map from node id to hostname. This is
[18/51] [partial] storm git commit: merge STORM-950 into asf-site. This closes #670
http://git-wip-us.apache.org/repos/asf/storm/blob/1d09012e/_site/images/security.svg -- diff --git a/_site/images/security.svg b/_site/images/security.svg new file mode 100644 index 000..526aa63 --- /dev/null +++ b/_site/images/security.svg @@ -0,0 +1,1779 @@ + + + +http://www.openswatchbook.org/uri/2009/osb; + xmlns:dc="http://purl.org/dc/elements/1.1/; + xmlns:cc="http://creativecommons.org/ns#; + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#; + xmlns:svg="http://www.w3.org/2000/svg; + xmlns="http://www.w3.org/2000/svg; + xmlns:xlink="http://www.w3.org/1999/xlink; + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd; + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape; + width="633.66333" + height="709.74274" + id="svg2" + version="1.1" + inkscape:version="0.48.5 r10040" + sodipodi:docname="security.svg" + inkscape:export-filename="/Users/evans/src/storm/docs/images/security.png" + inkscape:export-xdpi="81.099846" + inkscape:export-ydpi="81.099846"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +image/svg+xml +http://purl.org/dc/dcmitype/StillImage; /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + DRPC + + + + + ZooKeeper + + + + + Nimbus + + + + + Supervisor + + + + + + Workers + + + + + + + + + + + + + + + + + + + 1 + + + + + User + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + UI + + + + + + + + + + + + + + + + + + + + + + + + + User Processes + + + + + + + + + Log Viewer + + + + + + + + + + + + + + + + + + + + + + + + + + + + +http://git-wip-us.apache.org/repos/asf/storm/blob/1d09012e/_site/images/spout.png -- diff --git a/_site/images/spout.png b/_site/images/spout.png new file mode 100644 index 000..cab9812 Binary files /dev/null and b/_site/images/spout.png differ
[30/51] [partial] storm git commit: merge STORM-950 into asf-site. This closes #670
http://git-wip-us.apache.org/repos/asf/storm/blob/1d09012e/_site/documentation/Guaranteeing-message-processing.html -- diff --git a/_site/documentation/Guaranteeing-message-processing.html b/_site/documentation/Guaranteeing-message-processing.html new file mode 100644 index 000..280cad2 --- /dev/null +++ b/_site/documentation/Guaranteeing-message-processing.html @@ -0,0 +1,310 @@ + + + + + + + + + + +Guaranteeing Message Processing + + + + + + + +http://fortawesome.github.io/Font-Awesome/assets/font-awesome/css/font-awesome.css;> + + + + + + + + + + + + + + + + + + + + + + + + Download + + + + + + + + + + + + + + + + + + Home +Getting Help +Project Information +Documentation +Talks and Slideshows + +Contribute + +Getting Started +ByLaws + + +News + + + + + + + + +Guaranteeing Message Processing + + + + + + +Storm guarantees that each message coming off a spout will be fully processed. This page describes how Storm accomplishes this guarantee and what you have to do as a user to benefit from Storms reliability capabilities. + +What does it mean for a message to be fully processed? + +A tuple coming off a spout can trigger thousands of tuples to be created based on it. Consider, for example, the streaming word count topology: +TopologyBuilder builder = new TopologyBuilder(); +builder.setSpout(sentences, new KestrelSpout(kestrel.backtype.com, + 22133, + sentence_queue, + new StringScheme())); +builder.setBolt(split, new SplitSentence(), 10) +.shuffleGrouping(sentences); +builder.setBolt(count, new WordCount(), 20) +.fieldsGrouping(split, new Fields(word)); + +This topology reads sentences off of a Kestrel queue, splits the sentences into its constituent words, and then emits for each word the number of times it has seen that word before. A tuple coming off the spout triggers many tuples being created based on it: a tuple for each word in the sentence and a tuple for the updated count for each word. The tree of messages looks something like this: + + + +Storm considers a tuple coming off a spout fully processed when the tuple tree has been exhausted and every message in the tree has been processed. A tuple is considered failed when its tree of messages fails to be fully processed within a specified timeout. This timeout can be configured on a topology-specific basis using the Config.TOPOLOGY_MESSAGE_TIMEOUT_SECS configuration and defaults to 30 seconds. + +What happens if a message is fully processed or fails to be fully processed? + +To understand this question, lets take a look at the lifecycle of a tuple coming off of a spout. For reference, here is the interface that spouts implement (see the Javadoc for more information): +public interface ISpout extends Serializable { +void open(Map conf, TopologyContext context, SpoutOutputCollector collector); +void close(); +void nextTuple(); +void ack(Object msgId); +void fail(Object msgId); +} + +First, Storm requests a tuple from the Spout by calling the nextTuple method on the Spout. The Spout uses the SpoutOutputCollector provided in the open method to emit a tuple to one of its output streams. When emitting a tuple, the Spout provides a message id that will be used to identify the tuple later. For example, the KestrelSpout reads a message off of the kestrel queue and emits as the message id the id provided by Kestrel for the message. Emitting a message to the SpoutOutputCollector looks like this: +_collector.emit(new Values(field1, field2, 3) , msgId); + +Next, the tuple gets sent to consuming bolts and Storm takes care of tracking the tree of messages that is created. If Storm detects that a tuple is fully processed, Storm will call the ack method on the originating Spout task with the message id that the Spout provided to Storm. Likewise, if the tuple times-out Storm will call the fail method on the Spout. Note that a tuple will be acked or failed by the exact same Spout task that created it. So if a Spout is executing as many tasks across the cluster, a tuple wont be acked or failed by a different task than the one that created it. + +Lets use KestrelSpout again to see
[44/51] [partial] storm git commit: merge STORM-950 into asf-site. This closes #670
http://git-wip-us.apache.org/repos/asf/storm/blob/1d09012e/_site/about/fault-tolerant.html -- diff --git a/_site/about/fault-tolerant.html b/_site/about/fault-tolerant.html new file mode 100644 index 000..0372e83 --- /dev/null +++ b/_site/about/fault-tolerant.html @@ -0,0 +1,197 @@ + + + + + + + + + + +Project Information + + + + + + + +http://fortawesome.github.io/Font-Awesome/assets/font-awesome/css/font-awesome.css;> + + + + + + + + + + + + + + + + + + + + + + + + Download + + + + + + + + + + + + + + + + + + Home +Getting Help +Project Information +Documentation +Talks and Slideshows + +Contribute + +Getting Started +ByLaws + + +News + + + + + + + + +Project Information + + + + + + + + + Integrates + + + + Simple API + + + + Scalable + + + + Fault tolerant + + + + Guarantees data processing + + + + Use with any language + + + + Easy to deploy and operate + + + + Free and open source + + + + + +Storm is fault-tolerant: when workers die, Storm will automatically restart them. If a node dies, the worker will be restarted on another node. + +The Storm daemons, Nimbus and the Supervisors, are designed to be stateless and fail-fast. So if they die, they will restart like nothing happened. This means you can kill -9 the Storm daemons without affecting the health of the cluster or your topologies. + +Read more about Storms fault-tolerance on the manual. + + + + + + + + + + + + + +Meetups + +http://www.meetup.com/Apache-Storm-Apache-Kafka/;>Sunnyvale, CA (10 May 2015) +http://www.meetup.com/Apache-Storm-Kafka-Users/;>Seatle, WA (27 Jun 2015) + + + + + +About Storm +Storm integrates with any queueing system and any database system. Storm's spout abstraction makes it easy to integrate a new queuing system. Likewise, integrating Storm with database systems is easy. + + + + +First Look + +Rationale +Tutorial +Setting up development environment +Creating a new Storm project + + + + + +Documentation + +Index +Manual +https://storm.apache.org/javadoc/apidocs/index.html;>Javadoc +FAQ + + + + + + + +Copyright © 2015 http://www.apache.org;>Apache Software Foundation. All Rights Reserved. Apache Storm, Apache, the Apache feather logo, and the Apache Storm project logos are trademarks of The Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners. + + + + + + + + + + + + http://git-wip-us.apache.org/repos/asf/storm/blob/1d09012e/_site/about/free-and-open-source.html -- diff --git a/_site/about/free-and-open-source.html b/_site/about/free-and-open-source.html new file mode 100644 index 000..41657bf --- /dev/null +++ b/_site/about/free-and-open-source.html @@ -0,0 +1,204 @@ + + + + + + + +
[34/51] [partial] storm git commit: merge STORM-950 into asf-site. This closes #670
http://git-wip-us.apache.org/repos/asf/storm/blob/1d09012e/_site/assets/js/npm.js -- diff --git a/_site/assets/js/npm.js b/_site/assets/js/npm.js new file mode 100644 index 000..bf6aa80 --- /dev/null +++ b/_site/assets/js/npm.js @@ -0,0 +1,13 @@ +// This file is autogenerated via the `commonjs` Grunt task. You can require() this file in a CommonJS environment. +require('../../js/transition.js') +require('../../js/alert.js') +require('../../js/button.js') +require('../../js/carousel.js') +require('../../js/collapse.js') +require('../../js/dropdown.js') +require('../../js/modal.js') +require('../../js/tooltip.js') +require('../../js/popover.js') +require('../../js/scrollspy.js') +require('../../js/tab.js') +require('../../js/affix.js') \ No newline at end of file http://git-wip-us.apache.org/repos/asf/storm/blob/1d09012e/_site/assets/js/owl.carousel.min.js -- diff --git a/_site/assets/js/owl.carousel.min.js b/_site/assets/js/owl.carousel.min.js new file mode 100644 index 000..394505e --- /dev/null +++ b/_site/assets/js/owl.carousel.min.js @@ -0,0 +1,47 @@ +"function"!==typeof Object.create&&(Object.create=function(f){function g(){}g.prototype=f;return new g}); +(function(f,g,k){var l={init:function(a,b){this.$elem=f(b);this.options=f.extend({},f.fn.owlCarousel.options,this.$elem.data(),a);this.userOptions=a;this.loadContent()},loadContent:function(){function a(a){var d,e="";if("function"===typeof b.options.jsonSuccess)b.options.jsonSuccess.apply(this,[a]);else{for(d in a.owl)a.owl.hasOwnProperty(d)&&(e+=a.owl[d].item);b.$elem.html(e)}b.logIn()}var b=this,e;"function"===typeof b.options.beforeInit&(this,[b.$elem]);"string"===typeof b.options.jsonPath? +(e=b.options.jsonPath,f.getJSON(e,a)):b.logIn()},logIn:function(){this.$elem.data("owl-originalStyles",this.$elem.attr("style"));this.$elem.data("owl-originalClasses",this.$elem.attr("class"));this.$elem.css({opacity:0});this.orignalItems=this.options.items;this.checkBrowser();this.wrapperWidth=0;this.checkVisible=null;this.setVars()},setVars:function(){if(0===this.$elem.children().length)return!1;this.baseClass();this.eventTypes();this.$userItems=this.$elem.children();this.itemsAmount=this.$userItems.length; +this.wrapItems();this.$owlItems=this.$elem.find(".owl-item");this.$owlWrapper=this.$elem.find(".owl-wrapper");this.playDirection="next";this.prevItem=0;this.prevArr=[0];this.currentItem=0;this.customEvents();this.onStartup()},onStartup:function(){this.updateItems();this.calculateAll();this.buildControls();this.updateControls();this.response();this.moveEvents();this.stopOnHover();this.owlStatus();!1!==this.options.transitionStyle&(this.options.transitionStyle);!0===this.options.autoPlay&& +(this.options.autoPlay=5E3);this.play();this.$elem.find(".owl-wrapper").css("display","block");this.$elem.is(":visible")?this.$elem.css("opacity",1):this.watchVisibility();this.onstartup=!1;this.eachMoveUpdate();"function"===typeof this.options.afterInit&(this,[this.$elem])},eachMoveUpdate:function(){!0===this.options.lazyLoad&();!0===this.options.autoHeight&();this.onVisibleItems();"function"===typeof this.options.afterAction&(this, +[this.$elem])},updateVars:function(){"function"===typeof this.options.beforeUpdate&(this,[this.$elem]);this.watchVisibility();this.updateItems();this.calculateAll();this.updatePosition();this.updateControls();this.eachMoveUpdate();"function"===typeof this.options.afterUpdate&(this,[this.$elem])},reload:function(){var a=this;g.setTimeout(function(){a.updateVars()},0)},watchVisibility:function(){var a=this;if(!1===a.$elem.is(":visible"))a.$elem.css({opacity:0}), +g.clearInterval(a.autoPlayInterval),g.clearInterval(a.checkVisible);else return!1;a.checkVisible=g.setInterval(function(){a.$elem.is(":visible")&&(a.reload(),a.$elem.animate({opacity:1},200),g.clearInterval(a.checkVisible))},500)},wrapItems:function(){this.$userItems.wrapAll('').wrap('');this.$elem.find(".owl-wrapper").wrap('');this.wrapperOuter=this.$elem.find(".owl-wrapper-outer");this.$elem.css("display","block")}, +baseClass:function(){var a=this.$elem.hasClass(this.options.baseClass),b=this.$elem.hasClass(this.options.theme);a||this.$elem.addClass(this.options.baseClass);b||this.$elem.addClass(this.options.theme)},updateItems:function(){var a,b;if(!1===this.options.responsive)return!1;if(!0===this.options.singleItem)return this.options.items=this.orignalItems=1,this.options.itemsCustom=!1,this.options.itemsDesktop=!1,this.options.itemsDesktopSmall=!1,this.options.itemsTablet=!1,this.options.itemsTabletSmall= +!1,this.options.itemsMobile=!1;a=f(this.options.responsiveBaseWidth).width();a>(this.options.itemsDesktop[0]||this.orignalItems)&&(this.options.items=this.orignalItems);if(!1!==this.options.itemsCustom)for(this.options.itemsCustom.sort(function(a,b){return
[32/51] [partial] storm git commit: merge STORM-950 into asf-site. This closes #670
http://git-wip-us.apache.org/repos/asf/storm/blob/1d09012e/_site/documentation/Common-patterns.html -- diff --git a/_site/documentation/Common-patterns.html b/_site/documentation/Common-patterns.html new file mode 100644 index 000..0b9aa4d --- /dev/null +++ b/_site/documentation/Common-patterns.html @@ -0,0 +1,235 @@ + + + + + + + + + + +Common Topology Patterns + + + + + + + +http://fortawesome.github.io/Font-Awesome/assets/font-awesome/css/font-awesome.css;> + + + + + + + + + + + + + + + + + + + + + + + + Download + + + + + + + + + + + + + + + + + + Home +Getting Help +Project Information +Documentation +Talks and Slideshows + +Contribute + +Getting Started +ByLaws + + +News + + + + + + + + +Common Topology Patterns + + + + + + +This page lists a variety of common patterns in Storm topologies. + + +Streaming joins +Batching +BasicBolt +In-memory caching + fields grouping combo +Streaming top N +TimeCacheMap for efficiently keeping a cache of things that have been recently updated +CoordinatedBolt and KeyedFairBolt for Distributed RPC + + +Joins + +A streaming join combines two or more data streams together based on some common field. Whereas a normal database join has finite input and clear semantics for a join, a streaming join has infinite input and unclear semantics for what a join should be. + +The join type you need will vary per application. Some applications join all tuples for two streams over a finite window of time, whereas other applications expect exactly one tuple for each side of the join for each join field. Other applications may do the join completely differently. The common pattern among all these join types is partitioning multiple input streams in the same way. This is easily accomplished in Storm by using a fields grouping on the same fields for many input streams to the joiner bolt. For example: +builder.setBolt(join, new MyJoiner(), parallelism) + .fieldsGrouping(1, new Fields(joinfield1, joinfield2)) + .fieldsGrouping(2, new Fields(joinfield1, joinfield2)) + .fieldsGrouping(3, new Fields(joinfield1, joinfield2)); + +The different streams dont have to have the same field names, of course. + +Batching + +Oftentimes for efficiency reasons or otherwise, you want to process a group of tuples in batch rather than individually. For example, you may want to batch updates to a database or do a streaming aggregation of some sort. + +If you want reliability in your data processing, the right way to do this is to hold on to tuples in an instance variable while the bolt waits to do the batching. Once you do the batch operation, you then ack all the tuples you were holding onto. + +If the bolt emits tuples, then you may want to use multi-anchoring to ensure reliability. It all depends on the specific application. See Guaranteeing message processing for more details on how reliability works. + +BasicBolt + +Many bolts follow a similar pattern of reading an input tuple, emitting zero or more tuples based on that input tuple, and then acking that input tuple immediately at the end of the execute method. Bolts that match this pattern are things like functions and filters. This is such a common pattern that Storm exposes an interface called IBasicBolt that automates this pattern for you. See Guaranteeing message processing for more information. + +In-memory caching + fields grouping combo + +Its common to keep caches in-memory in Storm bolts. Caching becomes particularly powerful when you combine it with a fields grouping. For example, suppose you have a bolt that expands short URLs (like bit.ly, t.co, etc.) into long URLs. You can increase performance by keeping an LRU cache of short URL to long URL expansions to avoid doing the same HTTP requests over and over. Suppose component urls emits short URLS, and component expand expands short URLs into long URLs and keeps a cache internally. Consider the difference between the two following snippets of code: +builder.setBolt(expand, new ExpandUrl(), parallelism) + .shuffleGrouping(1); +builder.setBolt(expand, new ExpandUrl(), parallelism) + .fieldsGrouping(urls, new Fields(url)); + +The second approach will have vastly more effective caches, since the same URL will always go to the same task. This avoids having duplication across
[19/51] [partial] storm git commit: merge STORM-950 into asf-site. This closes #670
http://git-wip-us.apache.org/repos/asf/storm/blob/1d09012e/_site/images/bolt.svg -- diff --git a/_site/images/bolt.svg b/_site/images/bolt.svg new file mode 100644 index 000..5b8adb3 --- /dev/null +++ b/_site/images/bolt.svg @@ -0,0 +1,743 @@ + + + +http://www.openswatchbook.org/uri/2009/osb; + xmlns:dc="http://purl.org/dc/elements/1.1/; + xmlns:cc="http://creativecommons.org/ns#; + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#; + xmlns:svg="http://www.w3.org/2000/svg; + xmlns="http://www.w3.org/2000/svg; + xmlns:xlink="http://www.w3.org/1999/xlink; + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd; + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape; + width="606.33069" + height="195.39473" + id="svg2" + version="1.1" + inkscape:version="0.48.5 r10040" + sodipodi:docname="bolt.svg" + inkscape:export-filename="/Users/evans/src/storm/docs/images/bolt.png" + inkscape:export-xdpi="94.88485" + inkscape:export-ydpi="94.88485"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +image/svg+xml +http://purl.org/dc/dcmitype/StillImage; /> + + + + + + + + + + + + + + + + + +Tuple + +Tuple + +Tuple + + + + + + +Tuple + +Tuple + +Tuple + + + + + + +Tuple + +Tuple + +Tuple + + + + + http://git-wip-us.apache.org/repos/asf/storm/blob/1d09012e/_site/images/bullet.gif -- diff --git a/_site/images/bullet.gif b/_site/images/bullet.gif new file mode 100644 index 000..45bb956 Binary files /dev/null and b/_site/images/bullet.gif differ http://git-wip-us.apache.org/repos/asf/storm/blob/1d09012e/_site/images/download.png -- diff --git a/_site/images/download.png b/_site/images/download.png new file mode 100644 index 000..5e07c78 Binary files /dev/null and b/_site/images/download.png differ http://git-wip-us.apache.org/repos/asf/storm/blob/1d09012e/_site/images/footer-bg.png -- diff --git a/_site/images/footer-bg.png b/_site/images/footer-bg.png new file mode 100644 index 000..e72d575 Binary files /dev/null and b/_site/images/footer-bg.png differ http://git-wip-us.apache.org/repos/asf/storm/blob/1d09012e/_site/images/header-bg.png -- diff --git a/_site/images/header-bg.png b/_site/images/header-bg.png new file mode 100644 index 000..01a291e Binary files /dev/null and b/_site/images/header-bg.png differ http://git-wip-us.apache.org/repos/asf/storm/blob/1d09012e/_site/images/incubator-logo.png -- diff --git a/_site/images/incubator-logo.png b/_site/images/incubator-logo.png new file mode 100644 index 000..33ca7f6 Binary files /dev/null and b/_site/images/incubator-logo.png differ http://git-wip-us.apache.org/repos/asf/storm/blob/1d09012e/_site/images/loading.gif -- diff --git a/_site/images/loading.gif b/_site/images/loading.gif new file mode 100644 index 000..06f47af Binary files /dev/null and b/_site/images/loading.gif differ http://git-wip-us.apache.org/repos/asf/storm/blob/1d09012e/_site/images/logo.png -- diff --git a/_site/images/logo.png b/_site/images/logo.png new file mode 100644 index 000..570276e Binary files /dev/null and b/_site/images/logo.png differ http://git-wip-us.apache.org/repos/asf/storm/blob/1d09012e/_site/images/logocontest/abartos/stationery_mockup.jpg -- diff --git a/_site/images/logocontest/abartos/stationery_mockup.jpg b/_site/images/logocontest/abartos/stationery_mockup.jpg new file mode 100644 index 000..d2635d5 Binary files /dev/null and b/_site/images/logocontest/abartos/stationery_mockup.jpg differ http://git-wip-us.apache.org/repos/asf/storm/blob/1d09012e/_site/images/logocontest/abartos/storm_logo.png
[50/51] [partial] storm git commit: merge STORM-950 into asf-site. This closes #670
http://git-wip-us.apache.org/repos/asf/storm/blob/1d09012e/_posts/2014-04-29-logo-jlee3.md -- diff --git a/_posts/2014-04-29-logo-jlee3.md b/_posts/2014-04-29-logo-jlee3.md new file mode 100644 index 000..c034fca --- /dev/null +++ b/_posts/2014-04-29-logo-jlee3.md @@ -0,0 +1,10 @@ +--- +layout: post +title: Logo Entry No. 11 - Jennifer Lee +author: P. Taylor Goetz +--- + +![Storm Brand](/images/logocontest/jlee2/storm_logo.jpg) + + + http://git-wip-us.apache.org/repos/asf/storm/blob/1d09012e/_posts/2014-05-27-round1-results.md -- diff --git a/_posts/2014-05-27-round1-results.md b/_posts/2014-05-27-round1-results.md new file mode 100644 index 000..015e167 --- /dev/null +++ b/_posts/2014-05-27-round1-results.md @@ -0,0 +1,38 @@ +--- +layout: post +title: Logo Contest - Round 1 Results +author: P. Taylor Goetz +--- + +Round one of the Apache Storm logo contest is now complete and was a great success. We received votes from 7 PPMC members as well as 46 votes from the greater Storm community. + +We would like to extend a very special thanks to all those who took the time and effort to create and submit a logo proposal. We would also like to thank everyone who voted. + +## Results ## +The Storm PPMC and community votes were closely aligned, with the community vote resolving a PPMC tie for the 3rd finalist as shown in the result table below. + +The three finalists entering the final round are: + + * [No. 6 - Alec Bartos](/2014/04/23/logo-abartos.html) + * [No. 9 - Jennifer Lee](/2014/04/29/logo-jlee1.html) + * [No. 10 - Jennifer Lee](/2014/04/29/logo-jlee2.html) + +Congratulations Alec and Jennifer! + +Stay tuned for the final vote, which will be announced shortly. + +-- + +| Entry| PPMC | Community | +|:-|-:|--:| +|1 - Patricia Forrest | 2| 23| +|2 - Samuel Quiñones | 3| 6 | +|3- Shaan Shiv Suleman | 0| 7 | +|4 - Richard Brownlie-Marshall | 0| 6 | +|5 - Ziba Sayari | 0| 9 | +|6 - Alec Bartos | 3| 32| +|7 - Calum Boustead| 0| 0 | +|8 - Stefano Asili | 0| 2 | +|9 - Jennifer Lee | 9| 63| +|10 - Jennifer Lee | 18 | 64| +|11 - Jennifer Lee | 0| 18| \ No newline at end of file http://git-wip-us.apache.org/repos/asf/storm/blob/1d09012e/_posts/2014-06-17-contest-results.md -- diff --git a/_posts/2014-06-17-contest-results.md b/_posts/2014-06-17-contest-results.md new file mode 100644 index 000..4b6b7de --- /dev/null +++ b/_posts/2014-06-17-contest-results.md @@ -0,0 +1,24 @@ +--- +layout: post +title: Storm Logo Contest Results +author: P. Taylor Goetz +--- + +The Apache Storm logo contest is now complete and was a great success. We received votes from 7 PPMC members as well as 55 votes from the greater Storm community. Thank you to everyone who participated by voting. + +## The Winner ## +Congratulations to Jennifer Lee, whose [3rd entry](/2014/04/29/logo-jlee2.html) received the most points from both the PPMC as well as the Storm community. Final vote tallies are listed below. + +![Storm Logo](/images/logocontest/storm_logo_winner.png) + +The Apache Storm project management team will now begin the process of finalizing the logo and making it official. + +Congratulations Jennifer, and thanks again to everyone who participated! + +-- + +| Entry| PPMC | Community | +|:-|-:|--:| +|[6 - Alec Bartos](/2014/04/23/logo-abartos.html) | 2| 41 | +|[9 - Jennifer Lee](/2014/04/29/logo-jlee1.html) | 7| 111 | +|[10 - Jennifer Lee](/2014/04/29/logo-jlee2.html) | 26 | 123 | http://git-wip-us.apache.org/repos/asf/storm/blob/1d09012e/_posts/2014-06-25-storm092-released.md -- diff --git a/_posts/2014-06-25-storm092-released.md b/_posts/2014-06-25-storm092-released.md new file mode 100644 index 000..7f8c438 --- /dev/null +++ b/_posts/2014-06-25-storm092-released.md @@ -0,0 +1,137 @@ +--- +layout: post +title: Storm 0.9.2 released +author: P. Taylor Goetz +--- + +We are pleased to announce that Storm 0.9.2-incubating has been released and is available from [the downloads page](/downloads.html). This release includes many important fixes and improvements. + +Netty Transport Improvements + +Storm's Netty-based transport has been overhauled to significantly improve performance through better utilization of thread, CPU, and network resources, particularly in cases
[43/51] [partial] storm git commit: merge STORM-950 into asf-site. This closes #670
http://git-wip-us.apache.org/repos/asf/storm/blob/1d09012e/_site/assets/css/bootstrap-theme.css -- diff --git a/_site/assets/css/bootstrap-theme.css b/_site/assets/css/bootstrap-theme.css new file mode 100644 index 000..c4cadf1 --- /dev/null +++ b/_site/assets/css/bootstrap-theme.css @@ -0,0 +1,470 @@ +/*! + * Bootstrap v3.3.1 (http://getbootstrap.com) + * Copyright 2011-2014 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ + +.btn-default, +.btn-primary, +.btn-success, +.btn-info, +.btn-warning, +.btn-danger { + text-shadow: 0 -1px 0 rgba(0, 0, 0, .2); + -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 1px rgba(0, 0, 0, .075); + box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 1px rgba(0, 0, 0, .075); +} +.btn-default:active, +.btn-primary:active, +.btn-success:active, +.btn-info:active, +.btn-warning:active, +.btn-danger:active, +.btn-default.active, +.btn-primary.active, +.btn-success.active, +.btn-info.active, +.btn-warning.active, +.btn-danger.active { + -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125); + box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125); +} +.btn-default .badge, +.btn-primary .badge, +.btn-success .badge, +.btn-info .badge, +.btn-warning .badge, +.btn-danger .badge { + text-shadow: none; +} +.btn:active, +.btn.active { + background-image: none; +} +.btn-default { + text-shadow: 0 1px 0 #fff; + background-image: -webkit-linear-gradient(top, #fff 0%, #e0e0e0 100%); + background-image: -o-linear-gradient(top, #fff 0%, #e0e0e0 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#e0e0e0)); + background-image: linear-gradient(to bottom, #fff 0%, #e0e0e0 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#', endColorstr='#ffe0e0e0', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); + background-repeat: repeat-x; + border-color: #dbdbdb; + border-color: #ccc; +} +.btn-default:hover, +.btn-default:focus { + background-color: #e0e0e0; + background-position: 0 -15px; +} +.btn-default:active, +.btn-default.active { + background-color: #e0e0e0; + border-color: #dbdbdb; +} +.btn-default:disabled, +.btn-default[disabled] { + background-color: #e0e0e0; + background-image: none; +} +.btn-primary { + background-image: -webkit-linear-gradient(top, #337ab7 0%, #265a88 100%); + background-image: -o-linear-gradient(top, #337ab7 0%, #265a88 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#265a88)); + background-image: linear-gradient(to bottom, #337ab7 0%, #265a88 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff265a88', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); + background-repeat: repeat-x; + border-color: #245580; +} +.btn-primary:hover, +.btn-primary:focus { + background-color: #265a88; + background-position: 0 -15px; +} +.btn-primary:active, +.btn-primary.active { + background-color: #265a88; + border-color: #245580; +} +.btn-primary:disabled, +.btn-primary[disabled] { + background-color: #265a88; + background-image: none; +} +.btn-success { + background-image: -webkit-linear-gradient(top, #5cb85c 0%, #419641 100%); + background-image: -o-linear-gradient(top, #5cb85c 0%, #419641 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#5cb85c), to(#419641)); + background-image: linear-gradient(to bottom, #5cb85c 0%, #419641 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff419641', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); + background-repeat: repeat-x; + border-color: #3e8f3e; +} +.btn-success:hover, +.btn-success:focus { + background-color: #419641; + background-position: 0 -15px; +} +.btn-success:active, +.btn-success.active { + background-color: #419641; + border-color: #3e8f3e; +} +.btn-success:disabled, +.btn-success[disabled] { + background-color: #419641; + background-image: none; +} +.btn-info { + background-image: -webkit-linear-gradient(top, #5bc0de 0%, #2aabd2 100%); + background-image: -o-linear-gradient(top, #5bc0de 0%, #2aabd2 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#5bc0de), to(#2aabd2)); + background-image: linear-gradient(to bottom, #5bc0de 0%, #2aabd2 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2aabd2', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); + background-repeat: repeat-x; + border-color: #28a4c9; +} +.btn-info:hover, +.btn-info:focus { + background-color: #2aabd2; +
[25/51] [partial] storm git commit: merge STORM-950 into asf-site. This closes #670
http://git-wip-us.apache.org/repos/asf/storm/blob/1d09012e/_site/documentation/Transactional-topologies.html -- diff --git a/_site/documentation/Transactional-topologies.html b/_site/documentation/Transactional-topologies.html new file mode 100644 index 000..6ec6022 --- /dev/null +++ b/_site/documentation/Transactional-topologies.html @@ -0,0 +1,520 @@ + + + + + + + + + + +Transactional Topologies + + + + + + + +http://fortawesome.github.io/Font-Awesome/assets/font-awesome/css/font-awesome.css;> + + + + + + + + + + + + + + + + + + + + + + + + Download + + + + + + + + + + + + + + + + + + Home +Getting Help +Project Information +Documentation +Talks and Slideshows + +Contribute + +Getting Started +ByLaws + + +News + + + + + + + + +Transactional Topologies + + + + + + +NOTE: Transactional topologies have been deprecated -- use the Trident framework instead. + + + +Storm guarantees data processing by providing an at least once processing guarantee. The most common question asked about Storm is Given that tuples can be replayed, how do you do things like counting on top of Storm? Wont you overcount? + +Storm 0.7.0 introduces transactional topologies, which enable you to get exactly once messaging semantics for pretty much any computation. So you can do things like counting in a fully-accurate, scalable, and fault-tolerant way. + +Like Distributed RPC, transactional topologies arent so much a feature of Storm as they are a higher level abstraction built on top of Storms primitives of streams, spouts, bolts, and topologies. + +This page explains the transactional topology abstraction, how to use the API, and provides details as to its implementation. + +Concepts + +Lets build up to Storms abstraction for transactional topologies one step at a time. Lets start by looking at the simplest possible approach, and then well iterate on the design until we reach Storms design. + +Design 1 + +The core idea behind transactional topologies is to provide a strong ordering on the processing of data. The simplest manifestation of this, and the first design well look at, is processing the tuples one at a time and not moving on to the next tuple until the current tuple has been successfully processed by the topology. + +Each tuple is associated with a transaction id. If the tuple fails and needs to be replayed, then it is emitted with the exact same transaction id. A transaction id is an integer that increments for every tuple, so the first tuple will have transaction id 1, the second id 2, and so on. + +The strong ordering of tuples gives you the capability to achieve exactly-once semantics even in the case of tuple replay. Lets look at an example of how you would do this. + +Suppose you want to do a global count of the tuples in the stream. Instead of storing just the count in the database, you instead store the count and the latest transaction id together as one value in the database. When your code updates the count in the db, it should update the count only if the transaction id in the database differs from the transaction id for the tuple currently being processed. Consider the two cases: + + +The transaction id in the database is different than the current transaction id: Because of the strong ordering of transactions, we know for sure that the current tuple isnt represented in that count. So we can safely increment the count and update the transaction id. +The transaction id is the same as the current transaction id: Then we know that this tuple is already incorporated into the count and can skip the update. The tuple must have failed after updating the database but before reporting success back to Storm. + + +This logic and the strong ordering of transactions ensures that the count in the database will be accurate even if tuples are replayed. Credit for this trick of storing a transaction id in the database along with the value goes to the Kafka devs, particularly http://incubator.apache.org/kafka/07/design.html;>this design document. + +Furthermore, notice that the topology can safely update many sources of state in the same transaction and achieve exactly-once semantics. If theres a failure, any updates that already succeeded will skip on the retry, and any updates that failed will properly
[11/51] [partial] storm git commit: merge STORM-950 into asf-site. This closes #670
http://git-wip-us.apache.org/repos/asf/storm/blob/1d09012e/assets/css/bootstrap.css -- diff --git a/assets/css/bootstrap.css b/assets/css/bootstrap.css new file mode 100644 index 000..680e768 --- /dev/null +++ b/assets/css/bootstrap.css @@ -0,0 +1,6800 @@ +/*! + * Bootstrap v3.3.5 (http://getbootstrap.com) + * Copyright 2011-2015 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ +/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */ +html { + font-family: sans-serif; + -webkit-text-size-adjust: 100%; + -ms-text-size-adjust: 100%; +} +body { + margin: 0; +} +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +main, +menu, +nav, +section, +summary { + display: block; +} +audio, +canvas, +progress, +video { + display: inline-block; + vertical-align: baseline; +} +audio:not([controls]) { + display: none; + height: 0; +} +[hidden], +template { + display: none; +} +a { + background-color: transparent; +} +a:active, +a:hover { + outline: 0; +} +abbr[title] { + border-bottom: 1px dotted; +} +b, +strong { + font-weight: bold; +} +dfn { + font-style: italic; +} +h1 { + margin: .67em 0; + font-size: 2em; +} +mark { + color: #000; + background: #ff0; +} +small { + font-size: 80%; +} +sub, +sup { + position: relative; + font-size: 75%; + line-height: 0; + vertical-align: baseline; +} +sup { + top: -.5em; +} +sub { + bottom: -.25em; +} +img { + border: 0; +} +svg:not(:root) { + overflow: hidden; +} +figure { + margin: 1em 40px; +} +hr { + height: 0; + -webkit-box-sizing: content-box; + -moz-box-sizing: content-box; + box-sizing: content-box; +} +pre { + overflow: auto; +} +code, +kbd, +pre, +samp { + font-family: monospace, monospace; + font-size: 1em; +} +button, +input, +optgroup, +select, +textarea { + margin: 0; + font: inherit; + color: inherit; +} +button { + overflow: visible; +} +button, +select { + text-transform: none; +} +button, +html input[type="button"], +input[type="reset"], +input[type="submit"] { + -webkit-appearance: button; + cursor: pointer; +} +button[disabled], +html input[disabled] { + cursor: default; +} +button::-moz-focus-inner, +input::-moz-focus-inner { + padding: 0; + border: 0; +} +input { + line-height: normal; +} +input[type="checkbox"], +input[type="radio"] { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + padding: 0; +} +input[type="number"]::-webkit-inner-spin-button, +input[type="number"]::-webkit-outer-spin-button { + height: auto; +} +input[type="search"] { + -webkit-box-sizing: content-box; + -moz-box-sizing: content-box; + box-sizing: content-box; + -webkit-appearance: textfield; +} +input[type="search"]::-webkit-search-cancel-button, +input[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} +fieldset { + padding: .35em .625em .75em; + margin: 0 2px; + border: 1px solid #c0c0c0; +} +legend { + padding: 0; + border: 0; +} +textarea { + overflow: auto; +} +optgroup { + font-weight: bold; +} +table { + border-spacing: 0; + border-collapse: collapse; +} +td, +th { + padding: 0; +} +/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */ +@media print { + *, + *:before, + *:after { +color: #000 !important; +text-shadow: none !important; +background: transparent !important; +-webkit-box-shadow: none !important; +box-shadow: none !important; + } + a, + a:visited { +text-decoration: underline; + } + a[href]:after { +content: " (" attr(href) ")"; + } + abbr[title]:after { +content: " (" attr(title) ")"; + } + a[href^="#"]:after, + a[href^="javascript:"]:after { +content: ""; + } + pre, + blockquote { +border: 1px solid #999; + +page-break-inside: avoid; + } + thead { +display: table-header-group; + } + tr, + img { +page-break-inside: avoid; + } + img { +max-width: 100% !important; + } + p, + h2, + h3 { +orphans: 3; +widows: 3; + } + h2, + h3 { +page-break-after: avoid; + } + .navbar { +display: none; + } + .btn > .caret, + .dropup > .btn > .caret { +border-top-color: #000 !important; + } + .label { +border: 1px solid #000; + } + .table { +border-collapse: collapse !important; + } + .table td, + .table th { +background-color: #fff !important; + } + .table-bordered th, + .table-bordered td { +border: 1px solid #ddd !important; + } +} +@font-face { + font-family: 'Glyphicons Halflings'; + + src: url('../fonts/glyphicons-halflings-regular.eot'); + src: url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('../fonts/glyphicons-halflings-regular.woff2') format('woff2'), url('../fonts/glyphicons-halflings-regular.woff') format('woff'),
[46/51] [partial] storm git commit: merge STORM-950 into asf-site. This closes #670
http://git-wip-us.apache.org/repos/asf/storm/blob/1d09012e/_site/2014/06/17/contest-results.html -- diff --git a/_site/2014/06/17/contest-results.html b/_site/2014/06/17/contest-results.html new file mode 100644 index 000..6aba1f9 --- /dev/null +++ b/_site/2014/06/17/contest-results.html @@ -0,0 +1,274 @@ + + + + + + + + + + + +Storm Logo Contest Results + + + + + + + +http://fortawesome.github.io/Font-Awesome/assets/font-awesome/css/font-awesome.css;> + + + + + + + + + + + + + + + + + + + + + + + + + + Download + + + + + + + + + + + + + + + + + + Home +Getting Help +Project Information +Documentation +Talks and Slideshows + +Contribute + +Getting Started +ByLaws + + +News + + + + + + + + + + + + + + + Storm 0.10.0 Beta Released + + Storm 0.9.5 released + + Storm 0.9.4 released + + Storm 0.9.3 released + + Storm 0.9.3 release candidate 1 available + + Storm 0.9.2 released + + Storm Logo Contest Results + + Logo Contest - Round 1 Results + + Logo Entry No. 11 - Jennifer Lee + + Logo Entry No. 10 - Jennifer Lee + + Logo Entry No. 9 - Jennifer Lee + + Logo Entry No. 8 - Stefano Asili + + Logo Entry No. 7 - Calum Boustead + + Logo Entry No. 6 - Alec Bartos + + Logo Entry No. 5 - Ziba Sayari + + Logo Entry No. 4 - Richard Brownlie-Marshall + + Logo Entry No. 3- Shaan Shiv Suleman + + Logo Entry No. 2 - Samuel Quiñones + + Logo Entry No. 1 - Patricia Forrest + + Apache Storm Logo Contest + + Storm 0.9.0 Released + + Storm 0.8.2 released + + Storm 0.8.1 released + + Storm 0.8.0 and Trident released + + + + + + Storm Logo Contest Results + + + + +Posted on Jun 17, 2014 by P. Taylor Goetz + +https://twitter.com/share; +class="twitter-share-button" +data-count=none +>Tweet + !function(d,s,id){ +var js, + fjs=d.getElementsByTagName(s)[0], + p=/^http:/.test(d.location)?'http':'https'; +if(!d.getElementById(id)){ +js=d.createElement(s); +js.id=id; +
[45/51] [partial] storm git commit: merge STORM-950 into asf-site. This closes #670
http://git-wip-us.apache.org/repos/asf/storm/blob/1d09012e/_site/2015/03/25/storm094-released.html -- diff --git a/_site/2015/03/25/storm094-released.html b/_site/2015/03/25/storm094-released.html new file mode 100644 index 000..7325030 --- /dev/null +++ b/_site/2015/03/25/storm094-released.html @@ -0,0 +1,254 @@ + + + + + + + + + + + +Storm 0.9.4 released + + + + + + + +http://fortawesome.github.io/Font-Awesome/assets/font-awesome/css/font-awesome.css;> + + + + + + + + + + + + + + + + + + + + + + + + + + Download + + + + + + + + + + + + + + + + + + Home +Getting Help +Project Information +Documentation +Talks and Slideshows + +Contribute + +Getting Started +ByLaws + + +News + + + + + + + + + + + + + + + Storm 0.10.0 Beta Released + + Storm 0.9.5 released + + Storm 0.9.4 released + + Storm 0.9.3 released + + Storm 0.9.3 release candidate 1 available + + Storm 0.9.2 released + + Storm Logo Contest Results + + Logo Contest - Round 1 Results + + Logo Entry No. 11 - Jennifer Lee + + Logo Entry No. 10 - Jennifer Lee + + Logo Entry No. 9 - Jennifer Lee + + Logo Entry No. 8 - Stefano Asili + + Logo Entry No. 7 - Calum Boustead + + Logo Entry No. 6 - Alec Bartos + + Logo Entry No. 5 - Ziba Sayari + + Logo Entry No. 4 - Richard Brownlie-Marshall + + Logo Entry No. 3- Shaan Shiv Suleman + + Logo Entry No. 2 - Samuel Quiñones + + Logo Entry No. 1 - Patricia Forrest + + Apache Storm Logo Contest + + Storm 0.9.0 Released + + Storm 0.8.2 released + + Storm 0.8.1 released + + Storm 0.8.0 and Trident released + + + + + + Storm 0.9.4 released + + + + +Posted on Mar 25, 2015 by P. Taylor Goetz + +https://twitter.com/share; +class="twitter-share-button" +data-count=none +>Tweet + !function(d,s,id){ +var js, + fjs=d.getElementsByTagName(s)[0], + p=/^http:/.test(d.location)?'http':'https'; +if(!d.getElementById(id)){ +js=d.createElement(s); +js.id=id; +
[47/51] [partial] storm git commit: merge STORM-950 into asf-site. This closes #670
http://git-wip-us.apache.org/repos/asf/storm/blob/1d09012e/_site/2014/04/27/logo-cboustead.html -- diff --git a/_site/2014/04/27/logo-cboustead.html b/_site/2014/04/27/logo-cboustead.html new file mode 100644 index 000..bd82709 --- /dev/null +++ b/_site/2014/04/27/logo-cboustead.html @@ -0,0 +1,240 @@ + + + + + + + + + + + +Logo Entry No. 7 - Calum Boustead + + + + + + + +http://fortawesome.github.io/Font-Awesome/assets/font-awesome/css/font-awesome.css;> + + + + + + + + + + + + + + + + + + + + + + + + + + Download + + + + + + + + + + + + + + + + + + Home +Getting Help +Project Information +Documentation +Talks and Slideshows + +Contribute + +Getting Started +ByLaws + + +News + + + + + + + + + + + + + + + Storm 0.10.0 Beta Released + + Storm 0.9.5 released + + Storm 0.9.4 released + + Storm 0.9.3 released + + Storm 0.9.3 release candidate 1 available + + Storm 0.9.2 released + + Storm Logo Contest Results + + Logo Contest - Round 1 Results + + Logo Entry No. 11 - Jennifer Lee + + Logo Entry No. 10 - Jennifer Lee + + Logo Entry No. 9 - Jennifer Lee + + Logo Entry No. 8 - Stefano Asili + + Logo Entry No. 7 - Calum Boustead + + Logo Entry No. 6 - Alec Bartos + + Logo Entry No. 5 - Ziba Sayari + + Logo Entry No. 4 - Richard Brownlie-Marshall + + Logo Entry No. 3- Shaan Shiv Suleman + + Logo Entry No. 2 - Samuel Quiñones + + Logo Entry No. 1 - Patricia Forrest + + Apache Storm Logo Contest + + Storm 0.9.0 Released + + Storm 0.8.2 released + + Storm 0.8.1 released + + Storm 0.8.0 and Trident released + + + + + + Logo Entry No. 7 - Calum Boustead + + + + +Posted on Apr 27, 2014 by P. Taylor Goetz + +https://twitter.com/share; +class="twitter-share-button" +data-count=none +>Tweet + !function(d,s,id){ +var js, + fjs=d.getElementsByTagName(s)[0], + p=/^http:/.test(d.location)?'http':'https'; +if(!d.getElementById(id)){ +js=d.createElement(s); +js.id=id; +
[40/51] [partial] storm git commit: merge STORM-950 into asf-site. This closes #670
http://git-wip-us.apache.org/repos/asf/storm/blob/1d09012e/_site/assets/css/bootstrap.min.css -- diff --git a/_site/assets/css/bootstrap.min.css b/_site/assets/css/bootstrap.min.css new file mode 100644 index 000..b6fe4e0 --- /dev/null +++ b/_site/assets/css/bootstrap.min.css @@ -0,0 +1,5 @@ +/*! + * Bootstrap v3.3.1 (http://getbootstrap.com) + * Copyright 2011-2014 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + *//*! normalize.css v3.0.2 | MIT License | git.io/normalize */html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{margin:.67em 0;font-size:2em}mark{color:#000;background:#ff0}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{height:0;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}butt on,input,optgroup,select,textarea{margin:0;font:inherit;color:inherit}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}input{line-height:normal}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{padding:.35em .625em .75em;margin:0 2px;border:1px solid silver}legend{padding:0;border:0}textarea{overflow:auto}optgroup{fo nt-weight:700}table{border-spacing:0;border-collapse:collapse}td,th{padding:0}/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */@media print{*,:before,:after{color:#000!important;text-shadow:none!important;background:transparent!important;-webkit-box-shadow:none!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="#"]:after,a[href^="javascript:"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100%!important}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}select{background:#fff!important}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered th,.table- bordered td{border:1px solid #ddd!important}}@font-face{font-family:'Glyphicons Halflings';src:url(../fonts/glyphicons-halflings-regular.eot);src:url(../fonts/glyphicons-halflings-regular.eot?#iefix) format('embedded-opentype'),url(../fonts/glyphicons-halflings-regular.woff) format('woff'),url(../fonts/glyphicons-halflings-regular.ttf) format('truetype'),url(../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular) format('svg')}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-style:normal;font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\2a"}.glyphicon-plus:before{content:"\2b"}.glyphicon-euro:before,.glyphicon-eur:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001