You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@storm.apache.org by ka...@apache.org on 2017/04/05 23:19:25 UTC

[22/23] storm git commit: Merge branch 'STORM-2453' of https://github.com/HeartSaVioR/storm into STORM-2453-merge

Merge branch 'STORM-2453' of https://github.com/HeartSaVioR/storm into STORM-2453-merge


Project: http://git-wip-us.apache.org/repos/asf/storm/repo
Commit: http://git-wip-us.apache.org/repos/asf/storm/commit/1dd4bbc4
Tree: http://git-wip-us.apache.org/repos/asf/storm/tree/1dd4bbc4
Diff: http://git-wip-us.apache.org/repos/asf/storm/diff/1dd4bbc4

Branch: refs/heads/master
Commit: 1dd4bbc4874f38eee0e96eb19a342cc1217baab1
Parents: e84b39d e9d7833
Author: Jungtaek Lim <ka...@gmail.com>
Authored: Thu Apr 6 08:11:02 2017 +0900
Committer: Jungtaek Lim <ka...@gmail.com>
Committed: Thu Apr 6 08:11:02 2017 +0900

----------------------------------------------------------------------
 bin/storm-kafka-monitor                         |   2 +-
 bin/storm.py                                    |   9 +-
 examples/flux-examples/README.md                |  93 --
 examples/flux-examples/pom.xml                  | 152 ----
 .../flux/examples/StatefulWordCounter.java      |  64 --
 .../storm/flux/examples/TestPrintBolt.java      |  39 -
 .../storm/flux/examples/TestWindowBolt.java     |  47 -
 .../storm/flux/examples/WordCountClient.java    |  74 --
 .../apache/storm/flux/examples/WordCounter.java |  71 --
 .../src/main/resources/hbase_bolt.properties    |  18 -
 .../src/main/resources/hdfs_bolt.properties     |  26 -
 .../src/main/resources/kafka_spout.yaml         | 136 ---
 .../src/main/resources/multilang.yaml           |  89 --
 .../src/main/resources/simple_hbase.yaml        |  92 --
 .../src/main/resources/simple_hdfs.yaml         | 105 ---
 .../resources/simple_stateful_wordcount.yaml    |  60 --
 .../src/main/resources/simple_windowing.yaml    |  69 --
 .../src/main/resources/simple_wordcount.yaml    |  68 --
 external/flux/README.md                         | 872 -------------------
 external/flux/flux-core/pom.xml                 | 112 ---
 .../main/java/org/apache/storm/flux/Flux.java   | 261 ------
 .../java/org/apache/storm/flux/FluxBuilder.java | 630 --------------
 .../apache/storm/flux/api/TopologySource.java   |  39 -
 .../org/apache/storm/flux/model/BeanDef.java    |  39 -
 .../storm/flux/model/BeanListReference.java     |  37 -
 .../apache/storm/flux/model/BeanReference.java  |  39 -
 .../org/apache/storm/flux/model/BoltDef.java    |  24 -
 .../storm/flux/model/ConfigMethodDef.java       |  67 --
 .../storm/flux/model/ExecutionContext.java      |  77 --
 .../apache/storm/flux/model/GroupingDef.java    |  77 --
 .../org/apache/storm/flux/model/IncludeDef.java |  54 --
 .../org/apache/storm/flux/model/ObjectDef.java  |  95 --
 .../apache/storm/flux/model/PropertyDef.java    |  58 --
 .../org/apache/storm/flux/model/SpoutDef.java   |  24 -
 .../org/apache/storm/flux/model/StreamDef.java  |  64 --
 .../apache/storm/flux/model/TopologyDef.java    | 216 -----
 .../storm/flux/model/TopologySourceDef.java     |  36 -
 .../org/apache/storm/flux/model/VertexDef.java  |  36 -
 .../apache/storm/flux/parser/FluxParser.java    | 208 -----
 .../flux-core/src/main/resources/splash.txt     |   9 -
 .../org/apache/storm/flux/FluxBuilderTest.java  |  31 -
 .../org/apache/storm/flux/IntegrationTest.java  |  39 -
 .../java/org/apache/storm/flux/TCKTest.java     | 256 ------
 .../multilang/MultilangEnvirontmentTest.java    |  89 --
 .../apache/storm/flux/test/SimpleTopology.java  |  59 --
 .../storm/flux/test/SimpleTopologySource.java   |  52 --
 .../test/SimpleTopologyWithConfigParam.java     |  55 --
 .../org/apache/storm/flux/test/TestBolt.java    | 131 ---
 .../storm/flux/test/TridentTopologySource.java  |  71 --
 .../src/test/resources/configs/bad_hbase.yaml   |  98 ---
 .../test/resources/configs/bad_shell_test.yaml  | 118 ---
 .../resources/configs/config-methods-test.yaml  |  92 --
 .../resources/configs/diamond-topology.yaml     |  87 --
 .../existing-topology-method-override.yaml      |  25 -
 .../existing-topology-reflection-config.yaml    |  24 -
 .../configs/existing-topology-reflection.yaml   |  24 -
 .../configs/existing-topology-trident.yaml      |  24 -
 .../resources/configs/existing-topology.yaml    |  23 -
 .../src/test/resources/configs/hdfs_test.yaml   |  97 ---
 .../test/resources/configs/include_test.yaml    |  25 -
 .../configs/invalid-existing-topology.yaml      |  33 -
 .../src/test/resources/configs/kafka_test.yaml  | 126 ---
 .../src/test/resources/configs/shell_test.yaml  | 118 ---
 .../test/resources/configs/simple_hbase.yaml    | 120 ---
 .../resources/configs/substitution-test.yaml    | 106 ---
 .../src/test/resources/configs/tck.yaml         |  95 --
 .../src/test/resources/configs/test.properties  |  18 -
 .../flux-core/src/test/resources/log4j2.xml     |  34 -
 external/flux/flux-ui/README.md                 |   3 -
 external/flux/flux-wrappers/pom.xml             |  51 --
 .../flux/wrappers/bolts/FluxShellBolt.java      | 175 ----
 .../storm/flux/wrappers/bolts/LogInfoBolt.java  |  44 -
 .../flux/wrappers/spouts/FluxShellSpout.java    | 175 ----
 .../main/resources/resources/randomsentence.js  |  93 --
 .../main/resources/resources/splitsentence.py   |  24 -
 external/flux/pom.xml                           |  64 --
 external/sql/README.md                          | 207 -----
 external/sql/pom.xml                            |  47 -
 external/sql/storm-sql-core/pom.xml             | 279 ------
 .../sql/storm-sql-core/src/codegen/config.fmpp  |  23 -
 .../storm-sql-core/src/codegen/data/Parser.tdd  |  80 --
 .../src/codegen/includes/license.ftl            |  17 -
 .../src/codegen/includes/parserImpls.ftl        | 113 ---
 .../storm/sql/AbstractTridentProcessor.java     |  58 --
 .../src/jvm/org/apache/storm/sql/StormSql.java  |  59 --
 .../jvm/org/apache/storm/sql/StormSqlImpl.java  | 290 ------
 .../org/apache/storm/sql/StormSqlRunner.java    |  85 --
 .../sql/calcite/ParallelStreamableTable.java    |  35 -
 .../apache/storm/sql/compiler/CompilerUtil.java | 183 ----
 .../sql/compiler/RexNodeToJavaCodeCompiler.java | 231 -----
 .../sql/compiler/StormSqlTypeFactoryImpl.java   |  51 --
 .../standalone/BuiltinAggregateFunctions.java   | 238 -----
 .../backends/standalone/PlanCompiler.java       | 139 ---
 .../standalone/PostOrderRelNodeVisitor.java     | 132 ---
 .../backends/standalone/RelNodeCompiler.java    | 484 ----------
 .../storm/sql/javac/CompilingClassLoader.java   | 225 -----
 .../storm/sql/parser/ColumnConstraint.java      |  42 -
 .../storm/sql/parser/ColumnDefinition.java      |  44 -
 .../storm/sql/parser/SqlCreateFunction.java     |  94 --
 .../apache/storm/sql/parser/SqlCreateTable.java | 166 ----
 .../apache/storm/sql/parser/SqlDDLKeywords.java |  27 -
 .../apache/storm/sql/parser/StormParser.java    |  47 -
 .../apache/storm/sql/parser/UnparseUtil.java    |  60 --
 .../sql/planner/StormRelDataTypeSystem.java     |  37 -
 .../apache/storm/sql/planner/StormRelUtils.java |  68 --
 .../planner/UnsupportedOperatorsVisitor.java    |  24 -
 .../storm/sql/planner/rel/StormCalcRelBase.java |  32 -
 .../sql/planner/rel/StormFilterRelBase.java     |  32 -
 .../storm/sql/planner/rel/StormJoinRelBase.java |  36 -
 .../sql/planner/rel/StormProjectRelBase.java    |  35 -
 .../storm/sql/planner/rel/StormRelNode.java     |  24 -
 .../planner/rel/StormStreamInsertRelBase.java   |  36 -
 .../sql/planner/rel/StormStreamScanRelBase.java |  34 -
 .../storm/sql/planner/trident/QueryPlanner.java | 156 ----
 .../sql/planner/trident/TridentPlanCreator.java | 125 ---
 .../planner/trident/TridentStormRuleSets.java   | 110 ---
 .../sql/planner/trident/rel/TridentCalcRel.java |  97 ---
 .../planner/trident/rel/TridentFilterRel.java   |  65 --
 .../trident/rel/TridentLogicalConvention.java   |  67 --
 .../planner/trident/rel/TridentProjectRel.java  |  69 --
 .../sql/planner/trident/rel/TridentRel.java     |  26 -
 .../trident/rel/TridentStreamInsertRel.java     |  76 --
 .../trident/rel/TridentStreamScanRel.java       |  55 --
 .../trident/rules/TridentAggregateRule.java     |  39 -
 .../planner/trident/rules/TridentCalcRule.java  |  45 -
 .../trident/rules/TridentFilterRule.java        |  45 -
 .../planner/trident/rules/TridentJoinRule.java  |  37 -
 .../trident/rules/TridentModifyRule.java        |  71 --
 .../trident/rules/TridentProjectRule.java       |  45 -
 .../planner/trident/rules/TridentScanRule.java  |  58 --
 .../test/org/apache/storm/sql/TestStormSql.java | 492 -----------
 .../storm/sql/compiler/TestExprSemantic.java    | 410 ---------
 .../backends/standalone/TestCompilerUtils.java  | 183 ----
 .../backends/standalone/TestPlanCompiler.java   | 104 ---
 .../standalone/TestRelNodeCompiler.java         |  64 --
 .../backends/trident/TestCompilerUtils.java     | 208 -----
 .../backends/trident/TestPlanCompiler.java      | 235 -----
 .../apache/storm/sql/parser/TestSqlParser.java  |  54 --
 .../storm-sql-external/storm-sql-hdfs/pom.xml   | 104 ---
 .../storm/sql/hdfs/HdfsDataSourcesProvider.java | 135 ---
 ...apache.storm.sql.runtime.DataSourcesProvider |  16 -
 .../sql/hdfs/TestHdfsDataSourcesProvider.java   | 129 ---
 .../storm-sql-external/storm-sql-kafka/pom.xml  |  93 --
 .../sql/kafka/KafkaDataSourcesProvider.java     | 170 ----
 ...apache.storm.sql.runtime.DataSourcesProvider |  16 -
 .../sql/kafka/TestKafkaDataSourcesProvider.java | 125 ---
 .../storm-sql-mongodb/pom.xml                   |  84 --
 .../sql/mongodb/MongoDataSourcesProvider.java   | 126 ---
 ...apache.storm.sql.runtime.DataSourcesProvider |  16 -
 .../mongodb/TestMongoDataSourcesProvider.java   | 122 ---
 .../storm-sql-external/storm-sql-redis/pom.xml  |  76 --
 .../sql/redis/RedisDataSourcesProvider.java     | 228 -----
 ...apache.storm.sql.runtime.DataSourcesProvider |  16 -
 .../sql/redis/TestRedisDataSourcesProvider.java | 158 ----
 external/sql/storm-sql-runtime/pom.xml          | 136 ---
 .../calcite/interpreter/StormContext.java       |  31 -
 .../sql/runtime/AbstractChannelHandler.java     |  52 --
 .../sql/runtime/AbstractValuesProcessor.java    |  46 -
 .../storm/sql/runtime/ChannelContext.java       |  30 -
 .../storm/sql/runtime/ChannelHandler.java       |  41 -
 .../org/apache/storm/sql/runtime/Channels.java  | 109 ---
 .../apache/storm/sql/runtime/DataSource.java    |  27 -
 .../storm/sql/runtime/DataSourcesProvider.java  |  47 -
 .../storm/sql/runtime/DataSourcesRegistry.java  |  76 --
 .../org/apache/storm/sql/runtime/FieldInfo.java |  47 -
 .../storm/sql/runtime/IOutputSerializer.java    |  31 -
 .../sql/runtime/ISqlTridentDataSource.java      |  65 --
 .../sql/runtime/SimpleSqlTridentConsumer.java   |  41 -
 .../storm/sql/runtime/StormSqlFunctions.java    |  34 -
 .../calcite/DebuggableExecutableExpression.java |  45 -
 .../runtime/calcite/ExecutableExpression.java   |  31 -
 .../sql/runtime/calcite/StormDataContext.java   |  79 --
 .../socket/SocketDataSourcesProvider.java       | 101 ---
 .../datasource/socket/trident/SocketState.java  |  89 --
 .../socket/trident/SocketStateUpdater.java      |  59 --
 .../socket/trident/TridentSocketSpout.java      | 177 ----
 .../sql/runtime/serde/avro/AvroScheme.java      |  74 --
 .../sql/runtime/serde/avro/AvroSerializer.java  |  72 --
 .../sql/runtime/serde/avro/CachedSchemas.java   |  41 -
 .../storm/sql/runtime/serde/csv/CsvScheme.java  |  70 --
 .../sql/runtime/serde/csv/CsvSerializer.java    |  59 --
 .../sql/runtime/serde/json/JsonScheme.java      |  58 --
 .../sql/runtime/serde/json/JsonSerializer.java  |  57 --
 .../storm/sql/runtime/serde/tsv/TsvScheme.java  |  58 --
 .../sql/runtime/serde/tsv/TsvSerializer.java    |  54 --
 .../trident/functions/EvaluationCalc.java       |  86 --
 .../trident/functions/EvaluationFilter.java     |  61 --
 .../trident/functions/EvaluationFunction.java   |  67 --
 .../trident/functions/ForwardFunction.java      |  30 -
 .../storm/sql/runtime/utils/FieldInfoUtils.java |  39 -
 .../storm/sql/runtime/utils/SerdeUtils.java     | 123 ---
 .../apache/storm/sql/runtime/utils/Utils.java   |  55 --
 ...apache.storm.sql.runtime.DataSourcesProvider |  16 -
 .../apache/storm/sql/TestAvroSerializer.java    |  72 --
 .../org/apache/storm/sql/TestCsvSerializer.java |  54 --
 .../storm/sql/TestJsonRepresentation.java       |  52 --
 .../org/apache/storm/sql/TestTsvSerializer.java |  46 -
 .../test/org/apache/storm/sql/TestUtils.java    | 584 -------------
 .../socket/TestSocketDataSourceProvider.java    |  94 --
 external/storm-submit-tools/pom.xml             | 216 -----
 .../submit/command/DependencyResolverMain.java  | 158 ----
 .../storm/submit/dependency/AetherUtils.java    |  91 --
 .../apache/storm/submit/dependency/Booter.java  |  51 --
 .../submit/dependency/DependencyResolver.java   |  98 ---
 .../dependency/RepositorySystemFactory.java     |  67 --
 .../submit/dependency/AetherUtilsTest.java      | 102 ---
 .../dependency/DependencyResolverTest.java      |  83 --
 flux/README.md                                  | 872 +++++++++++++++++++
 flux/flux-core/pom.xml                          | 112 +++
 .../main/java/org/apache/storm/flux/Flux.java   | 259 ++++++
 .../java/org/apache/storm/flux/FluxBuilder.java | 630 ++++++++++++++
 .../apache/storm/flux/api/TopologySource.java   |  39 +
 .../org/apache/storm/flux/model/BeanDef.java    |  34 +
 .../storm/flux/model/BeanListReference.java     |  37 +
 .../apache/storm/flux/model/BeanReference.java  |  39 +
 .../org/apache/storm/flux/model/BoltDef.java    |  24 +
 .../storm/flux/model/ConfigMethodDef.java       |  67 ++
 .../storm/flux/model/ExecutionContext.java      |  77 ++
 .../apache/storm/flux/model/GroupingDef.java    |  77 ++
 .../org/apache/storm/flux/model/IncludeDef.java |  54 ++
 .../org/apache/storm/flux/model/ObjectDef.java  |  95 ++
 .../apache/storm/flux/model/PropertyDef.java    |  58 ++
 .../org/apache/storm/flux/model/SpoutDef.java   |  24 +
 .../org/apache/storm/flux/model/StreamDef.java  |  64 ++
 .../apache/storm/flux/model/TopologyDef.java    | 216 +++++
 .../storm/flux/model/TopologySourceDef.java     |  36 +
 .../org/apache/storm/flux/model/VertexDef.java  |  36 +
 .../apache/storm/flux/parser/FluxParser.java    | 206 +++++
 flux/flux-core/src/main/resources/splash.txt    |   9 +
 .../org/apache/storm/flux/FluxBuilderTest.java  |  31 +
 .../org/apache/storm/flux/IntegrationTest.java  |  39 +
 .../java/org/apache/storm/flux/TCKTest.java     | 254 ++++++
 .../multilang/MultilangEnvirontmentTest.java    |  89 ++
 .../apache/storm/flux/test/SimpleTopology.java  |  58 ++
 .../storm/flux/test/SimpleTopologySource.java   |  52 ++
 .../test/SimpleTopologyWithConfigParam.java     |  53 ++
 .../org/apache/storm/flux/test/TestBolt.java    | 131 +++
 .../storm/flux/test/TridentTopologySource.java  |  71 ++
 .../src/test/resources/configs/bad_hbase.yaml   |  98 +++
 .../test/resources/configs/bad_shell_test.yaml  | 118 +++
 .../resources/configs/config-methods-test.yaml  |  92 ++
 .../resources/configs/diamond-topology.yaml     |  87 ++
 .../existing-topology-method-override.yaml      |  25 +
 .../existing-topology-reflection-config.yaml    |  24 +
 .../configs/existing-topology-reflection.yaml   |  24 +
 .../configs/existing-topology-trident.yaml      |  24 +
 .../resources/configs/existing-topology.yaml    |  23 +
 .../src/test/resources/configs/hdfs_test.yaml   |  97 +++
 .../test/resources/configs/include_test.yaml    |  25 +
 .../configs/invalid-existing-topology.yaml      |  33 +
 .../src/test/resources/configs/kafka_test.yaml  | 126 +++
 .../src/test/resources/configs/shell_test.yaml  | 118 +++
 .../test/resources/configs/simple_hbase.yaml    | 120 +++
 .../resources/configs/substitution-test.yaml    | 106 +++
 .../src/test/resources/configs/tck.yaml         |  95 ++
 .../src/test/resources/configs/test.properties  |  18 +
 flux/flux-core/src/test/resources/log4j2.xml    |  34 +
 flux/flux-examples/README.md                    |  93 ++
 flux/flux-examples/pom.xml                      | 146 ++++
 .../flux/examples/StatefulWordCounter.java      |  64 ++
 .../storm/flux/examples/TestPrintBolt.java      |  39 +
 .../storm/flux/examples/TestWindowBolt.java     |  47 +
 .../storm/flux/examples/WordCountClient.java    |  74 ++
 .../apache/storm/flux/examples/WordCounter.java |  71 ++
 .../src/main/resources/hbase_bolt.properties    |  18 +
 .../src/main/resources/hdfs_bolt.properties     |  26 +
 .../src/main/resources/kafka_spout.yaml         | 136 +++
 .../src/main/resources/multilang.yaml           |  89 ++
 .../src/main/resources/simple_hbase.yaml        |  92 ++
 .../src/main/resources/simple_hdfs.yaml         | 105 +++
 .../resources/simple_stateful_wordcount.yaml    |  60 ++
 .../src/main/resources/simple_windowing.yaml    |  69 ++
 .../src/main/resources/simple_wordcount.yaml    |  68 ++
 flux/flux-ui/README.md                          |   3 +
 flux/flux-wrappers/pom.xml                      |  51 ++
 .../flux/wrappers/bolts/FluxShellBolt.java      | 175 ++++
 .../storm/flux/wrappers/bolts/LogInfoBolt.java  |  44 +
 .../flux/wrappers/spouts/FluxShellSpout.java    | 175 ++++
 .../main/resources/resources/randomsentence.js  |  93 ++
 .../main/resources/resources/splitsentence.py   |  24 +
 flux/pom.xml                                    |  64 ++
 pom.xml                                         |   6 +-
 sql/README.md                                   | 207 +++++
 sql/pom.xml                                     |  47 +
 sql/storm-sql-core/pom.xml                      | 279 ++++++
 sql/storm-sql-core/src/codegen/config.fmpp      |  23 +
 sql/storm-sql-core/src/codegen/data/Parser.tdd  |  80 ++
 .../src/codegen/includes/license.ftl            |  17 +
 .../src/codegen/includes/parserImpls.ftl        | 113 +++
 .../storm/sql/AbstractTridentProcessor.java     |  56 ++
 .../src/jvm/org/apache/storm/sql/StormSql.java  |  59 ++
 .../jvm/org/apache/storm/sql/StormSqlImpl.java  | 290 ++++++
 .../org/apache/storm/sql/StormSqlRunner.java    |  85 ++
 .../sql/calcite/ParallelStreamableTable.java    |  35 +
 .../apache/storm/sql/compiler/CompilerUtil.java | 183 ++++
 .../sql/compiler/RexNodeToJavaCodeCompiler.java | 231 +++++
 .../sql/compiler/StormSqlTypeFactoryImpl.java   |  51 ++
 .../standalone/BuiltinAggregateFunctions.java   | 238 +++++
 .../backends/standalone/PlanCompiler.java       | 139 +++
 .../standalone/PostOrderRelNodeVisitor.java     | 132 +++
 .../backends/standalone/RelNodeCompiler.java    | 484 ++++++++++
 .../storm/sql/javac/CompilingClassLoader.java   | 225 +++++
 .../storm/sql/parser/ColumnConstraint.java      |  42 +
 .../storm/sql/parser/ColumnDefinition.java      |  44 +
 .../storm/sql/parser/SqlCreateFunction.java     |  94 ++
 .../apache/storm/sql/parser/SqlCreateTable.java | 166 ++++
 .../apache/storm/sql/parser/SqlDDLKeywords.java |  27 +
 .../apache/storm/sql/parser/StormParser.java    |  47 +
 .../apache/storm/sql/parser/UnparseUtil.java    |  59 ++
 .../sql/planner/StormRelDataTypeSystem.java     |  37 +
 .../apache/storm/sql/planner/StormRelUtils.java |  68 ++
 .../planner/UnsupportedOperatorsVisitor.java    |  24 +
 .../storm/sql/planner/rel/StormCalcRelBase.java |  31 +
 .../sql/planner/rel/StormFilterRelBase.java     |  31 +
 .../storm/sql/planner/rel/StormJoinRelBase.java |  35 +
 .../sql/planner/rel/StormProjectRelBase.java    |  34 +
 .../storm/sql/planner/rel/StormRelNode.java     |  24 +
 .../planner/rel/StormStreamInsertRelBase.java   |  35 +
 .../sql/planner/rel/StormStreamScanRelBase.java |  33 +
 .../storm/sql/planner/trident/QueryPlanner.java | 156 ++++
 .../sql/planner/trident/TridentPlanCreator.java | 123 +++
 .../planner/trident/TridentStormRuleSets.java   | 110 +++
 .../sql/planner/trident/rel/TridentCalcRel.java |  97 +++
 .../planner/trident/rel/TridentFilterRel.java   |  65 ++
 .../trident/rel/TridentLogicalConvention.java   |  67 ++
 .../planner/trident/rel/TridentProjectRel.java  |  69 ++
 .../sql/planner/trident/rel/TridentRel.java     |  25 +
 .../trident/rel/TridentStreamInsertRel.java     |  76 ++
 .../trident/rel/TridentStreamScanRel.java       |  55 ++
 .../trident/rules/TridentAggregateRule.java     |  39 +
 .../planner/trident/rules/TridentCalcRule.java  |  45 +
 .../trident/rules/TridentFilterRule.java        |  45 +
 .../planner/trident/rules/TridentJoinRule.java  |  37 +
 .../trident/rules/TridentModifyRule.java        |  71 ++
 .../trident/rules/TridentProjectRule.java       |  45 +
 .../planner/trident/rules/TridentScanRule.java  |  58 ++
 .../test/org/apache/storm/sql/TestStormSql.java | 492 +++++++++++
 .../storm/sql/compiler/TestExprSemantic.java    | 410 +++++++++
 .../backends/standalone/TestCompilerUtils.java  | 183 ++++
 .../backends/standalone/TestPlanCompiler.java   | 104 +++
 .../standalone/TestRelNodeCompiler.java         |  64 ++
 .../backends/trident/TestCompilerUtils.java     | 208 +++++
 .../backends/trident/TestPlanCompiler.java      | 232 +++++
 .../apache/storm/sql/parser/TestSqlParser.java  |  54 ++
 sql/storm-sql-external/storm-sql-hdfs/pom.xml   | 104 +++
 .../storm/sql/hdfs/HdfsDataSourcesProvider.java | 135 +++
 ...apache.storm.sql.runtime.DataSourcesProvider |  16 +
 .../sql/hdfs/TestHdfsDataSourcesProvider.java   | 129 +++
 sql/storm-sql-external/storm-sql-kafka/pom.xml  |  93 ++
 .../sql/kafka/KafkaDataSourcesProvider.java     | 170 ++++
 ...apache.storm.sql.runtime.DataSourcesProvider |  16 +
 .../sql/kafka/TestKafkaDataSourcesProvider.java | 125 +++
 .../storm-sql-mongodb/pom.xml                   |  84 ++
 .../sql/mongodb/MongoDataSourcesProvider.java   | 126 +++
 ...apache.storm.sql.runtime.DataSourcesProvider |  16 +
 .../mongodb/TestMongoDataSourcesProvider.java   | 122 +++
 sql/storm-sql-external/storm-sql-redis/pom.xml  |  76 ++
 .../sql/redis/RedisDataSourcesProvider.java     | 228 +++++
 ...apache.storm.sql.runtime.DataSourcesProvider |  16 +
 .../sql/redis/TestRedisDataSourcesProvider.java | 158 ++++
 sql/storm-sql-runtime/pom.xml                   | 136 +++
 .../calcite/interpreter/StormContext.java       |  31 +
 .../sql/runtime/AbstractChannelHandler.java     |  52 ++
 .../sql/runtime/AbstractValuesProcessor.java    |  44 +
 .../storm/sql/runtime/ChannelContext.java       |  30 +
 .../storm/sql/runtime/ChannelHandler.java       |  41 +
 .../org/apache/storm/sql/runtime/Channels.java  | 109 +++
 .../apache/storm/sql/runtime/DataSource.java    |  27 +
 .../storm/sql/runtime/DataSourcesProvider.java  |  47 +
 .../storm/sql/runtime/DataSourcesRegistry.java  |  76 ++
 .../org/apache/storm/sql/runtime/FieldInfo.java |  47 +
 .../storm/sql/runtime/IOutputSerializer.java    |  31 +
 .../sql/runtime/ISqlTridentDataSource.java      |  65 ++
 .../sql/runtime/SimpleSqlTridentConsumer.java   |  41 +
 .../storm/sql/runtime/StormSqlFunctions.java    |  34 +
 .../calcite/DebuggableExecutableExpression.java |  45 +
 .../runtime/calcite/ExecutableExpression.java   |  31 +
 .../sql/runtime/calcite/StormDataContext.java   |  79 ++
 .../socket/SocketDataSourcesProvider.java       | 100 +++
 .../datasource/socket/trident/SocketState.java  |  89 ++
 .../socket/trident/SocketStateUpdater.java      |  59 ++
 .../socket/trident/TridentSocketSpout.java      | 177 ++++
 .../sql/runtime/serde/avro/AvroScheme.java      |  74 ++
 .../sql/runtime/serde/avro/AvroSerializer.java  |  72 ++
 .../sql/runtime/serde/avro/CachedSchemas.java   |  41 +
 .../storm/sql/runtime/serde/csv/CsvScheme.java  |  70 ++
 .../sql/runtime/serde/csv/CsvSerializer.java    |  59 ++
 .../sql/runtime/serde/json/JsonScheme.java      |  58 ++
 .../sql/runtime/serde/json/JsonSerializer.java  |  57 ++
 .../storm/sql/runtime/serde/tsv/TsvScheme.java  |  58 ++
 .../sql/runtime/serde/tsv/TsvSerializer.java    |  54 ++
 .../trident/functions/EvaluationCalc.java       |  86 ++
 .../trident/functions/EvaluationFilter.java     |  61 ++
 .../trident/functions/EvaluationFunction.java   |  67 ++
 .../trident/functions/ForwardFunction.java      |  30 +
 .../storm/sql/runtime/utils/FieldInfoUtils.java |  39 +
 .../storm/sql/runtime/utils/SerdeUtils.java     | 123 +++
 .../apache/storm/sql/runtime/utils/Utils.java   |  55 ++
 ...apache.storm.sql.runtime.DataSourcesProvider |  16 +
 .../apache/storm/sql/TestAvroSerializer.java    |  72 ++
 .../org/apache/storm/sql/TestCsvSerializer.java |  54 ++
 .../storm/sql/TestJsonRepresentation.java       |  52 ++
 .../org/apache/storm/sql/TestTsvSerializer.java |  46 +
 .../test/org/apache/storm/sql/TestUtils.java    | 584 +++++++++++++
 .../socket/TestSocketDataSourceProvider.java    |  94 ++
 .../final-package/src/main/assembly/binary.xml  |  87 +-
 storm-submit-tools/pom.xml                      | 216 +++++
 .../submit/command/DependencyResolverMain.java  | 158 ++++
 .../storm/submit/dependency/AetherUtils.java    |  91 ++
 .../apache/storm/submit/dependency/Booter.java  |  51 ++
 .../submit/dependency/DependencyResolver.java   |  98 +++
 .../dependency/RepositorySystemFactory.java     |  67 ++
 .../submit/dependency/AetherUtilsTest.java      | 102 +++
 .../dependency/DependencyResolverTest.java      |  83 ++
 414 files changed, 19519 insertions(+), 19591 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/storm/blob/1dd4bbc4/flux/pom.xml
----------------------------------------------------------------------
diff --cc flux/pom.xml
index 0000000,287b04a..ce8f6a0
mode 000000,100644..100644
--- a/flux/pom.xml
+++ b/flux/pom.xml
@@@ -1,0 -1,85 +1,64 @@@
+ <?xml version="1.0" encoding="UTF-8"?>
+ <!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+ 
+      http://www.apache.org/licenses/LICENSE-2.0
+ 
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+ -->
+ <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+     <modelVersion>4.0.0</modelVersion>
+ 
+     <artifactId>flux</artifactId>
+     <packaging>pom</packaging>
+     <name>flux</name>
+ 
+ 
+     <parent>
+         <artifactId>storm</artifactId>
+         <groupId>org.apache.storm</groupId>
+         <version>2.0.0-SNAPSHOT</version>
+         <relativePath>../pom.xml</relativePath>
+     </parent>
+ 
+     <developers>
+         <developer>
+             <id>ptgoetz</id>
+             <name>P. Taylor Goetz</name>
+             <email>ptgoetz@apache.org</email>
+         </developer>
+     </developers>
+ 
 -    <properties>
 -        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
 -        <!-- see comment below... This fixes an annoyance with intellij -->
 -        <provided.scope>provided</provided.scope>
 -    </properties>
 -
 -    <profiles>
 -        <!--
 -            Hack to make intellij behave.
 -            If you use intellij, enable this profile in your IDE.
 -            It should make life easier.
 -        -->
 -        <profile>
 -            <id>intellij</id>
 -            <properties>
 -                <provided.scope>compile</provided.scope>
 -            </properties>
 -        </profile>
 -    </profiles>
 -
+     <modules>
+         <module>flux-wrappers</module>
+         <module>flux-core</module>
 -        <module>flux-examples</module>
+     </modules>
+ 
+     <dependencies>
+         <dependency>
+             <groupId>org.apache.storm</groupId>
+             <artifactId>storm-core</artifactId>
+             <version>${project.version}</version>
+             <scope>${provided.scope}</scope>
+         </dependency>
+         <dependency>
+             <groupId>commons-cli</groupId>
+             <artifactId>commons-cli</artifactId>
+             <version>1.2</version>
+         </dependency>
+         <dependency>
+             <groupId>org.apache.kafka</groupId>
+             <artifactId>${storm.kafka.artifact.id}</artifactId>
+             <scope>test</scope>
+         </dependency>
+     </dependencies>
+ </project>

http://git-wip-us.apache.org/repos/asf/storm/blob/1dd4bbc4/pom.xml
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/storm/blob/1dd4bbc4/sql/storm-sql-core/pom.xml
----------------------------------------------------------------------
diff --cc sql/storm-sql-core/pom.xml
index 0000000,ca84970..e409658
mode 000000,100644..100644
--- a/sql/storm-sql-core/pom.xml
+++ b/sql/storm-sql-core/pom.xml
@@@ -1,0 -1,279 +1,279 @@@
+ <?xml version="1.0" encoding="UTF-8"?>
+ <!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+ 
+      http://www.apache.org/licenses/LICENSE-2.0
+ 
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+ -->
+ <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+     <modelVersion>4.0.0</modelVersion>
+ 
+     <parent>
+         <artifactId>storm</artifactId>
+         <groupId>org.apache.storm</groupId>
+         <version>2.0.0-SNAPSHOT</version>
+         <relativePath>../../pom.xml</relativePath>
+     </parent>
+ 
+     <artifactId>storm-sql-core</artifactId>
+ 
+     <developers>
+         <developer>
+             <id>haohui</id>
+             <name>Haohui Mai</name>
+             <email>ricetons@gmail.com</email>
+         </developer>
+     </developers>
+ 
+     <dependencies>
+         <dependency>
+             <groupId>org.apache.storm</groupId>
+             <artifactId>storm-core</artifactId>
+             <version>${project.version}</version>
 -            <scope>provided</scope>
++            <scope>${provided.scope}</scope>
+         </dependency>
+         <dependency>
+             <groupId>org.apache.storm</groupId>
+             <artifactId>storm-sql-runtime</artifactId>
+             <version>${project.version}</version>
 -            <scope>provided</scope>
++            <scope>${provided.scope}</scope>
+         </dependency>
+         <dependency>
+             <groupId>org.apache.storm</groupId>
+             <artifactId>storm-sql-runtime</artifactId>
+             <version>${project.version}</version>
+             <scope>test</scope>
+             <type>test-jar</type>
+         </dependency>
+         <dependency>
+             <groupId>org.apache.calcite</groupId>
+             <artifactId>calcite-core</artifactId>
+             <version>${calcite.version}</version>
+             <exclusions>
+                 <exclusion>
+                     <groupId>com.fasterxml.jackson.core</groupId>
+                     <artifactId>jackson-annotations</artifactId>
+                 </exclusion>
+             </exclusions>
+         </dependency>
+         <dependency>
+             <groupId>com.fasterxml.jackson.core</groupId>
+             <artifactId>jackson-annotations</artifactId>
+             <version>${jackson.version}</version>
+         </dependency>
+         <dependency>
+             <groupId>commons-cli</groupId>
+             <artifactId>commons-cli</artifactId>
+         </dependency>
+         <dependency>
+             <groupId>commons-lang</groupId>
+             <artifactId>commons-lang</artifactId>
+             <scope>runtime</scope>
+         </dependency>
+         <dependency>
+             <groupId>junit</groupId>
+             <artifactId>junit</artifactId>
+             <scope>test</scope>
+         </dependency>
+         <dependency>
+             <groupId>org.mockito</groupId>
+             <artifactId>mockito-all</artifactId>
+             <scope>test</scope>
+         </dependency>
+         <dependency>
+             <groupId>org.apache.commons</groupId>
+             <artifactId>commons-collections4</artifactId>
+             <version>4.1</version>
+             <scope>test</scope>
+         </dependency>
+     </dependencies>
+     <build>
+         <sourceDirectory>src/jvm</sourceDirectory>
+         <testSourceDirectory>src/test</testSourceDirectory>
+         <plugins>
+             <plugin>
+                 <artifactId>maven-resources-plugin</artifactId>
+                 <executions>
+                     <execution>
+                         <id>copy-fmpp-resources</id>
+                         <phase>initialize</phase>
+                         <goals>
+                             <goal>copy-resources</goal>
+                         </goals>
+                         <configuration>
+                             <outputDirectory>${project.build.directory}/codegen</outputDirectory>
+                             <resources>
+                                 <resource>
+                                     <directory>src/codegen</directory>
+                                     <filtering>false</filtering>
+                                 </resource>
+                             </resources>
+                         </configuration>
+                     </execution>
+                     <execution>
+                         <id>copy-java-sources</id>
+                         <phase>process-sources</phase>
+                         <goals>
+                             <goal>copy-resources</goal>
+                         </goals>
+                         <configuration>
+                             <outputDirectory>${basedir}/target/classes/</outputDirectory>
+                             <resources>
+                                 <resource>
+                                     <directory>src/jvm</directory>
+                                     <filtering>true</filtering>
+                                 </resource>
+                                 <resource>
+                                     <directory>src/test</directory>
+                                     <filtering>true</filtering>
+                                 </resource>
+                                 <resource>
+                                     <directory>target/generated-sources</directory>
+                                     <!-- <include>*/org</include> -->
+                                     <filtering>true</filtering>
+                                 </resource>
+                             </resources>
+                         </configuration>
+                     </execution>
+                 </executions>
+             </plugin>
+             <plugin>
+                 <groupId>org.apache.maven.plugins</groupId>
+                 <artifactId>maven-jar-plugin</artifactId>
+                 <version>2.2</version>
+                 <executions>
+                     <execution>
+                         <goals>
+                             <goal>test-jar</goal>
+                         </goals>
+                     </execution>
+                 </executions>
+             </plugin>
+             <plugin>
+                 <!-- Extract parser grammar template from calcite-core.jar and put
+                      it under ${project.build.directory} where all freemarker templates are. -->
+                 <groupId>org.apache.maven.plugins</groupId>
+                 <artifactId>maven-dependency-plugin</artifactId>
+                 <version>2.8</version>
+                 <executions>
+                     <execution>
+                         <id>unpack-parser-template</id>
+                         <phase>initialize</phase>
+                         <goals>
+                             <goal>unpack</goal>
+                         </goals>
+                         <configuration>
+                             <artifactItems>
+                                 <artifactItem>
+                                     <groupId>org.apache.calcite</groupId>
+                                     <artifactId>calcite-core</artifactId>
+                                     <type>jar</type>
+                                     <overWrite>true</overWrite>
+                                     <outputDirectory>${project.build.directory}/</outputDirectory>
+                                     <includes>**/Parser.jj</includes>
+                                 </artifactItem>
+                             </artifactItems>
+                         </configuration>
+                     </execution>
+                 </executions>
+             </plugin>
+             <!-- using appassembler-maven-plugin instead of maven-dependency-plugin to copy dependencies
+             as copy and unpack goal are not working together -->
+             <plugin>
+                 <groupId>org.codehaus.mojo</groupId>
+                 <artifactId>appassembler-maven-plugin</artifactId>
+                 <version>1.9</version>
+                 <executions>
+                     <execution>
+                         <id>create-repo</id>
+                         <goals>
+                             <goal>create-repository</goal>
+                         </goals>
+                         <configuration>
+                             <assembleDirectory>${project.build.directory}/app-assembler</assembleDirectory>
+                             <repositoryLayout>flat</repositoryLayout>
+                         </configuration>
+                     </execution>
+                 </executions>
+             </plugin>
+             <plugin>
+                 <groupId>com.googlecode.fmpp-maven-plugin</groupId>
+                 <artifactId>fmpp-maven-plugin</artifactId>
+                 <version>1.0</version>
+                 <dependencies>
+                     <dependency>
+                         <groupId>org.freemarker</groupId>
+                         <artifactId>freemarker</artifactId>
+                         <version>2.3.25-incubating</version>
+                     </dependency>
+                 </dependencies>
+                 <executions>
+                     <execution>
+                         <id>generate-fmpp-sources</id>
+                         <phase>generate-sources</phase>
+                         <goals>
+                             <goal>generate</goal>
+                         </goals>
+                         <configuration>
+                             <cfgFile>${project.build.directory}/codegen/config.fmpp</cfgFile>
+                             <outputDirectory>target/generated-sources</outputDirectory>
+                             <templateDirectory>${project.build.directory}/codegen/templates</templateDirectory>
+                         </configuration>
+                     </execution>
+                 </executions>
+             </plugin>
+             <plugin>
+                 <groupId>org.codehaus.mojo</groupId>
+                 <artifactId>build-helper-maven-plugin</artifactId>
+                 <version>1.5</version>
+                 <executions>
+                     <execution>
+                         <id>add-generated-sources</id>
+                         <phase>process-sources</phase>
+                         <goals>
+                             <goal>add-source</goal>
+                         </goals>
+                         <configuration>
+                             <sources>
+                                 <source>${project.build.directory}/generated-sources</source>
+                             </sources>
+                         </configuration>
+                     </execution>
+                 </executions>
+             </plugin>
+             <plugin>
+                 <groupId>org.codehaus.mojo</groupId>
+                 <artifactId>javacc-maven-plugin</artifactId>
+                 <version>2.4</version>
+                 <executions>
+                     <execution>
+                         <phase>generate-sources</phase>
+                         <id>javacc</id>
+                         <goals>
+                             <goal>javacc</goal>
+                         </goals>
+                         <configuration>
+                             <sourceDirectory>${project.build.directory}/generated-sources/</sourceDirectory>
+                             <includes>
+                                 <include>**/Parser.jj</include>
+                             </includes>
+                             <lookAhead>2</lookAhead>
+                             <isStatic>false</isStatic>
+                             <outputDirectory>${project.build.directory}/generated-sources/</outputDirectory>
+                         </configuration>
+                     </execution>
+                 </executions>
+             </plugin>
+         </plugins>
+     </build>
+ </project>

http://git-wip-us.apache.org/repos/asf/storm/blob/1dd4bbc4/sql/storm-sql-external/storm-sql-hdfs/pom.xml
----------------------------------------------------------------------
diff --cc sql/storm-sql-external/storm-sql-hdfs/pom.xml
index 0000000,9275fbb..d1f37b7
mode 000000,100644..100644
--- a/sql/storm-sql-external/storm-sql-hdfs/pom.xml
+++ b/sql/storm-sql-external/storm-sql-hdfs/pom.xml
@@@ -1,0 -1,104 +1,104 @@@
+ <?xml version="1.0" encoding="UTF-8"?>
+ <!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+ 
+      http://www.apache.org/licenses/LICENSE-2.0
+ 
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+ -->
+ <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+     <modelVersion>4.0.0</modelVersion>
+ 
+     <parent>
+         <artifactId>storm</artifactId>
+         <groupId>org.apache.storm</groupId>
+         <version>2.0.0-SNAPSHOT</version>
+         <relativePath>../../../pom.xml</relativePath>
+     </parent>
+ 
+     <artifactId>storm-sql-hdfs</artifactId>
+ 
+     <developers>
+         <developer>
+             <id>vesense</id>
+             <name>Xin Wang</name>
+             <email>data.xinwang@gmail.com</email>
+         </developer>
+     </developers>
+ 
+     <dependencies>
+         <dependency>
+             <groupId>org.apache.storm</groupId>
+             <artifactId>storm-core</artifactId>
+             <version>${project.version}</version>
 -            <scope>provided</scope>
++            <scope>${provided.scope}</scope>
+             <exclusions>
+                 <!--log4j-over-slf4j must be excluded for hadoop-minicluster
+                     see: http://stackoverflow.com/q/20469026/3542091 -->
+                 <exclusion>
+                     <groupId>org.slf4j</groupId>
+                     <artifactId>log4j-over-slf4j</artifactId>
+                 </exclusion>
+             </exclusions>
+         </dependency>
+         <dependency>
+             <groupId>org.apache.storm</groupId>
+             <artifactId>storm-sql-runtime</artifactId>
+             <version>${project.version}</version>
 -            <scope>provided</scope>
++            <scope>${provided.scope}</scope>
+         </dependency>
+         <dependency>
+             <groupId>org.apache.storm</groupId>
+             <artifactId>storm-sql-runtime</artifactId>
+             <version>${project.version}</version>
+             <scope>test</scope>
+             <type>test-jar</type>
+         </dependency>
+         <dependency>
+             <groupId>org.apache.storm</groupId>
+             <artifactId>storm-hdfs</artifactId>
+             <version>${project.version}</version>
 -            <scope>provided</scope>
++            <scope>${provided.scope}</scope>
+         </dependency>
+         <dependency>
+             <groupId>org.apache.hadoop</groupId>
+             <artifactId>hadoop-minicluster</artifactId>
+             <version>${hadoop.version}</version>
+             <exclusions>
+                 <exclusion>
+                     <groupId>org.slf4j</groupId>
+                     <artifactId>slf4j-log4j12</artifactId>
+                 </exclusion>
+             </exclusions>
+             <scope>test</scope>
+         </dependency>
+         <dependency>
+             <groupId>junit</groupId>
+             <artifactId>junit</artifactId>
+             <scope>test</scope>
+         </dependency>
+         <dependency>
+             <groupId>org.mockito</groupId>
+             <artifactId>mockito-all</artifactId>
+             <scope>test</scope>
+         </dependency>
+     </dependencies>
+     <build>
+         <sourceDirectory>src/jvm</sourceDirectory>
+         <testSourceDirectory>src/test</testSourceDirectory>
+         <resources>
+             <resource>
+                 <directory>${basedir}/src/resources</directory>
+             </resource>
+         </resources>
+     </build>
+ </project>

http://git-wip-us.apache.org/repos/asf/storm/blob/1dd4bbc4/sql/storm-sql-external/storm-sql-kafka/pom.xml
----------------------------------------------------------------------
diff --cc sql/storm-sql-external/storm-sql-kafka/pom.xml
index 0000000,881343d..c7562bb
mode 000000,100644..100644
--- a/sql/storm-sql-external/storm-sql-kafka/pom.xml
+++ b/sql/storm-sql-external/storm-sql-kafka/pom.xml
@@@ -1,0 -1,93 +1,93 @@@
+ <?xml version="1.0" encoding="UTF-8"?>
+ <!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+ 
+      http://www.apache.org/licenses/LICENSE-2.0
+ 
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+ -->
+ <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+     <modelVersion>4.0.0</modelVersion>
+ 
+     <parent>
+         <artifactId>storm</artifactId>
+         <groupId>org.apache.storm</groupId>
+         <version>2.0.0-SNAPSHOT</version>
+         <relativePath>../../../pom.xml</relativePath>
+     </parent>
+ 
+     <artifactId>storm-sql-kafka</artifactId>
+ 
+     <developers>
+         <developer>
+             <id>haohui</id>
+             <name>Haohui Mai</name>
+             <email>ricetons@gmail.com</email>
+         </developer>
+     </developers>
+ 
+     <dependencies>
+         <dependency>
+             <groupId>org.apache.storm</groupId>
+             <artifactId>storm-core</artifactId>
+             <version>${project.version}</version>
 -            <scope>provided</scope>
++            <scope>${provided.scope}</scope>
+         </dependency>
+         <dependency>
+             <groupId>org.apache.storm</groupId>
+             <artifactId>storm-sql-runtime</artifactId>
+             <version>${project.version}</version>
 -            <scope>provided</scope>
++            <scope>${provided.scope}</scope>
+         </dependency>
+         <dependency>
+             <groupId>org.apache.storm</groupId>
+             <artifactId>storm-sql-runtime</artifactId>
+             <version>${project.version}</version>
+             <scope>test</scope>
+             <type>test-jar</type>
+         </dependency>
+         <dependency>
+             <groupId>org.apache.storm</groupId>
+             <artifactId>storm-kafka</artifactId>
+             <version>${project.version}</version>
 -            <scope>provided</scope>
++            <scope>${provided.scope}</scope>
+         </dependency>
+         <dependency>
+             <groupId>org.apache.kafka</groupId>
+             <artifactId>${storm.kafka.artifact.id}</artifactId>
+         </dependency>
+         <dependency>
+             <groupId>org.apache.kafka</groupId>
+             <artifactId>kafka-clients</artifactId>
+             <version>${storm.kafka.version}</version>
+         </dependency>
+         <dependency>
+             <groupId>junit</groupId>
+             <artifactId>junit</artifactId>
+             <scope>test</scope>
+         </dependency>
+         <dependency>
+             <groupId>org.mockito</groupId>
+             <artifactId>mockito-all</artifactId>
+             <scope>test</scope>
+         </dependency>
+     </dependencies>
+     <build>
+         <sourceDirectory>src/jvm</sourceDirectory>
+         <testSourceDirectory>src/test</testSourceDirectory>
+         <resources>
+             <resource>
+                 <directory>${basedir}/src/resources</directory>
+             </resource>
+         </resources>
+     </build>
+ </project>

http://git-wip-us.apache.org/repos/asf/storm/blob/1dd4bbc4/sql/storm-sql-external/storm-sql-mongodb/pom.xml
----------------------------------------------------------------------
diff --cc sql/storm-sql-external/storm-sql-mongodb/pom.xml
index 0000000,218d89b..cb0baba
mode 000000,100644..100644
--- a/sql/storm-sql-external/storm-sql-mongodb/pom.xml
+++ b/sql/storm-sql-external/storm-sql-mongodb/pom.xml
@@@ -1,0 -1,84 +1,84 @@@
+ <?xml version="1.0" encoding="UTF-8"?>
+ <!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+ 
+      http://www.apache.org/licenses/LICENSE-2.0
+ 
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+ -->
+ <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+     <modelVersion>4.0.0</modelVersion>
+ 
+     <parent>
+         <artifactId>storm</artifactId>
+         <groupId>org.apache.storm</groupId>
+         <version>2.0.0-SNAPSHOT</version>
+         <relativePath>../../../pom.xml</relativePath>
+     </parent>
+ 
+     <artifactId>storm-sql-mongodb</artifactId>
+ 
+     <developers>
+         <developer>
+             <id>vesense</id>
+             <name>Xin Wang</name>
+             <email>data.xinwang@gmail.com</email>
+         </developer>
+     </developers>
+ 
+     <dependencies>
+         <dependency>
+             <groupId>org.apache.storm</groupId>
+             <artifactId>storm-core</artifactId>
+             <version>${project.version}</version>
 -            <scope>provided</scope>
++            <scope>${provided.scope}</scope>
+         </dependency>
+         <dependency>
+             <groupId>org.apache.storm</groupId>
+             <artifactId>storm-sql-runtime</artifactId>
+             <version>${project.version}</version>
 -            <scope>provided</scope>
++            <scope>${provided.scope}</scope>
+         </dependency>
+         <dependency>
+             <groupId>org.apache.storm</groupId>
+             <artifactId>storm-sql-runtime</artifactId>
+             <version>${project.version}</version>
+             <scope>test</scope>
+             <type>test-jar</type>
+         </dependency>
+         <dependency>
+             <groupId>org.apache.storm</groupId>
+             <artifactId>storm-mongodb</artifactId>
+             <version>${project.version}</version>
 -            <scope>provided</scope>
++            <scope>${provided.scope}</scope>
+         </dependency>
+         <dependency>
+             <groupId>junit</groupId>
+             <artifactId>junit</artifactId>
+             <scope>test</scope>
+         </dependency>
+         <dependency>
+             <groupId>org.mockito</groupId>
+             <artifactId>mockito-all</artifactId>
+             <scope>test</scope>
+         </dependency>
+     </dependencies>
+     <build>
+         <sourceDirectory>src/jvm</sourceDirectory>
+         <testSourceDirectory>src/test</testSourceDirectory>
+         <resources>
+             <resource>
+                 <directory>${basedir}/src/resources</directory>
+             </resource>
+         </resources>
+     </build>
+ </project>

http://git-wip-us.apache.org/repos/asf/storm/blob/1dd4bbc4/sql/storm-sql-external/storm-sql-redis/pom.xml
----------------------------------------------------------------------
diff --cc sql/storm-sql-external/storm-sql-redis/pom.xml
index 0000000,32ce432..38648a4
mode 000000,100644..100644
--- a/sql/storm-sql-external/storm-sql-redis/pom.xml
+++ b/sql/storm-sql-external/storm-sql-redis/pom.xml
@@@ -1,0 -1,76 +1,76 @@@
+ <?xml version="1.0" encoding="UTF-8"?>
+ <!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+ 
+      http://www.apache.org/licenses/LICENSE-2.0
+ 
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+ -->
+ <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+     <modelVersion>4.0.0</modelVersion>
+ 
+     <parent>
+         <artifactId>storm</artifactId>
+         <groupId>org.apache.storm</groupId>
+         <version>2.0.0-SNAPSHOT</version>
+         <relativePath>../../../pom.xml</relativePath>
+     </parent>
+ 
+     <artifactId>storm-sql-redis</artifactId>
+ 
+     <dependencies>
+         <dependency>
+             <groupId>org.apache.storm</groupId>
+             <artifactId>storm-core</artifactId>
+             <version>${project.version}</version>
 -            <scope>provided</scope>
++            <scope>${provided.scope}</scope>
+         </dependency>
+         <dependency>
+             <groupId>org.apache.storm</groupId>
+             <artifactId>storm-sql-runtime</artifactId>
+             <version>${project.version}</version>
 -            <scope>provided</scope>
++            <scope>${provided.scope}</scope>
+         </dependency>
+         <dependency>
+             <groupId>org.apache.storm</groupId>
+             <artifactId>storm-sql-runtime</artifactId>
+             <version>${project.version}</version>
+             <scope>test</scope>
+             <type>test-jar</type>
+         </dependency>
+         <dependency>
+             <groupId>org.apache.storm</groupId>
+             <artifactId>storm-redis</artifactId>
+             <version>${project.version}</version>
 -            <scope>provided</scope>
++            <scope>${provided.scope}</scope>
+         </dependency>
+         <dependency>
+             <groupId>junit</groupId>
+             <artifactId>junit</artifactId>
+             <scope>test</scope>
+         </dependency>
+         <dependency>
+             <groupId>org.mockito</groupId>
+             <artifactId>mockito-all</artifactId>
+             <scope>test</scope>
+         </dependency>
+     </dependencies>
+     <build>
+         <sourceDirectory>src/jvm</sourceDirectory>
+         <testSourceDirectory>src/test</testSourceDirectory>
+         <resources>
+             <resource>
+                 <directory>${basedir}/src/resources</directory>
+             </resource>
+         </resources>
+     </build>
+ </project>

http://git-wip-us.apache.org/repos/asf/storm/blob/1dd4bbc4/sql/storm-sql-runtime/pom.xml
----------------------------------------------------------------------
diff --cc sql/storm-sql-runtime/pom.xml
index 0000000,ce57cb2..060a1ab
mode 000000,100644..100644
--- a/sql/storm-sql-runtime/pom.xml
+++ b/sql/storm-sql-runtime/pom.xml
@@@ -1,0 -1,136 +1,136 @@@
+ <?xml version="1.0" encoding="UTF-8"?>
+ <!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+ 
+      http://www.apache.org/licenses/LICENSE-2.0
+ 
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+ -->
+ <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+     <modelVersion>4.0.0</modelVersion>
+ 
+     <parent>
+         <artifactId>storm</artifactId>
+         <groupId>org.apache.storm</groupId>
+         <version>2.0.0-SNAPSHOT</version>
+         <relativePath>../../pom.xml</relativePath>
+     </parent>
+ 
+     <artifactId>storm-sql-runtime</artifactId>
+ 
+     <developers>
+         <developer>
+             <id>haohui</id>
+             <name>Haohui Mai</name>
+             <email>ricetons@gmail.com</email>
+         </developer>
+     </developers>
+ 
+     <dependencies>
+         <dependency>
+             <groupId>org.apache.storm</groupId>
+             <artifactId>storm-core</artifactId>
+             <version>${project.version}</version>
 -            <scope>provided</scope>
++            <scope>${provided.scope}</scope>
+         </dependency>
+         <dependency>
+             <groupId>org.apache.calcite</groupId>
+             <artifactId>calcite-core</artifactId>
+             <version>${calcite.version}</version>
+             <exclusions>
+                 <exclusion>
+                     <groupId>commons-dbcp</groupId>
+                     <artifactId>commons-dbcp</artifactId>
+                 </exclusion>
+                 <exclusion>
+                     <groupId>com.google.code.findbugs</groupId>
+                     <artifactId>jsr305</artifactId>
+                 </exclusion>
+                 <exclusion>
+                     <groupId>org.pentaho</groupId>
+                     <artifactId>pentaho-aggdesigner-algorithm</artifactId>
+                 </exclusion>
+                 <exclusion>
+                     <groupId>com.fasterxml.jackson.core</groupId>
+                     <artifactId>jackson-annotations</artifactId>
+                 </exclusion>
+             </exclusions>
+         </dependency>
+         <dependency>
+             <groupId>com.fasterxml.jackson.core</groupId>
+             <artifactId>jackson-databind</artifactId>
+         </dependency>
+         <dependency>
+             <groupId>org.apache.avro</groupId>
+             <artifactId>avro</artifactId>
+             <version>1.7.7</version>
+         </dependency>
+         <dependency>
+             <groupId>commons-lang</groupId>
+             <artifactId>commons-lang</artifactId>
+         </dependency>
+         <dependency>
+             <groupId>org.apache.commons</groupId>
+             <artifactId>commons-csv</artifactId>
+             <version>1.4</version>
+         </dependency>
+         <dependency>
+             <groupId>org.mockito</groupId>
+             <artifactId>mockito-all</artifactId>
+             <scope>test</scope>
+         </dependency>
+         <dependency>
+             <groupId>junit</groupId>
+             <artifactId>junit</artifactId>
+             <scope>test</scope>
+         </dependency>
+     </dependencies>
+     <build>
+         <sourceDirectory>src/jvm</sourceDirectory>
+         <testSourceDirectory>src/test</testSourceDirectory>
+         <resources>
+             <resource>
+                 <directory>${basedir}/src/resources</directory>
+             </resource>
+         </resources>
+         <plugins>
+             <plugin>
+                 <groupId>org.apache.maven.plugins</groupId>
+                 <artifactId>maven-jar-plugin</artifactId>
+                 <executions>
+                     <execution>
+                         <goals>
+                             <goal>test-jar</goal>
+                         </goals>
+                     </execution>
+                 </executions>
+             </plugin>
+             <plugin>
+                 <groupId>org.codehaus.mojo</groupId>
+                 <artifactId>appassembler-maven-plugin</artifactId>
+                 <version>1.9</version>
+                 <executions>
+                     <execution>
+                         <id>create-repo</id>
+                         <goals>
+                             <goal>create-repository</goal>
+                         </goals>
+                         <configuration>
+                             <assembleDirectory>${project.build.directory}/app-assembler</assembleDirectory>
+                             <repositoryLayout>flat</repositoryLayout>
+                         </configuration>
+                     </execution>
+                 </executions>
+             </plugin>
+         </plugins>
+     </build>
+ </project>

http://git-wip-us.apache.org/repos/asf/storm/blob/1dd4bbc4/storm-dist/binary/final-package/src/main/assembly/binary.xml
----------------------------------------------------------------------
diff --cc storm-dist/binary/final-package/src/main/assembly/binary.xml
index 9321ea2,7ee1445..02b405f
--- a/storm-dist/binary/final-package/src/main/assembly/binary.xml
+++ b/storm-dist/binary/final-package/src/main/assembly/binary.xml
@@@ -180,59 -290,14 +180,7 @@@
                  <include>README.*</include>
              </includes>
          </fileSet>
-         <!-- Storm SQL -->
-         <fileSet>
-             <directory>${project.basedir}/../../../external/sql/storm-sql-core/target/app-assembler/repo</directory>
-             <outputDirectory>external/sql/storm-sql-core</outputDirectory>
-             <includes>
-                 <include>*jar</include>
-             </includes>
-         </fileSet>
-         <fileSet>
-             <directory>${project.basedir}/../../../external/sql/storm-sql-external/storm-sql-kafka/target</directory>
-             <outputDirectory>external/sql/storm-sql-external/storm-sql-kafka</outputDirectory>
-             <includes>
-                 <include>storm*jar</include>
-             </includes>
-         </fileSet>
-         <fileSet>
-             <directory>${project.basedir}/../../../external/sql/storm-sql-external/storm-sql-redis/target</directory>
-             <outputDirectory>external/sql/storm-sql-external/storm-sql-redis</outputDirectory>
-             <includes>
-                 <include>storm*jar</include>
-             </includes>
-         </fileSet>
-         <fileSet>
-             <directory>${project.basedir}/../../../external/sql/storm-sql-external/storm-sql-mongodb/target</directory>
-             <outputDirectory>external/sql/storm-sql-external/storm-sql-mongodb</outputDirectory>
-             <includes>
-                 <include>storm*jar</include>
-             </includes>
-         </fileSet>
-         <fileSet>
-             <directory>${project.basedir}/../../../external/sql/storm-sql-external/storm-sql-hdfs/target</directory>
-             <outputDirectory>external/sql/storm-sql-external/storm-sql-hdfs</outputDirectory>
-             <includes>
-                 <include>storm*jar</include>
-             </includes>
-         </fileSet>
-         <fileSet>
-             <directory>${project.basedir}/../../../external/sql/storm-sql-runtime/target/app-assembler/repo</directory>
-             <outputDirectory>external/sql/storm-sql-runtime</outputDirectory>
-             <includes>
-                 <include>*jar</include>
-             </includes>
-         </fileSet>
- 
-         <fileSet>
-             <directory>${project.basedir}/../../../external/sql</directory>
-             <outputDirectory>external/sql</outputDirectory>
-             <includes>
-                 <include>README.*</include>
-             </includes>
-         </fileSet>
-         <!-- END Storm SQL -->
          <fileSet>
 -            <directory>${project.basedir}/../../../external/storm-cassandra/target</directory>
 -            <outputDirectory>external/storm-cassandra</outputDirectory>
 -            <includes>
 -                <include>storm*jar</include>
 -            </includes>
 -        </fileSet>
 -        <fileSet>
              <directory>${project.basedir}/../../../external/storm-mqtt</directory>
              <outputDirectory>external/storm-mqtt</outputDirectory>
              <includes>
@@@ -322,6 -451,62 +263,32 @@@
                  <include>storm*jar</include>
              </includes>
          </fileSet>
+ 
 -        <fileSet>
 -            <directory>${project.basedir}/../../storm-perf/target</directory>
 -            <outputDirectory>perf</outputDirectory>
 -            <includes>
 -                <include>storm*jar</include>
 -            </includes>
 -        </fileSet>
 -        <fileSet>
 -            <directory>${project.basedir}/../../storm-perf/src/main/conf</directory>
 -            <outputDirectory>perf/conf</outputDirectory>
 -            <includes>
 -                <include>*yaml</include>
 -            </includes>
 -        </fileSet>
 -        <fileSet>
 -            <directory>${project.basedir}/../../storm-perf/src/main/sampledata</directory>
 -            <outputDirectory>perf/resources</outputDirectory>
 -            <includes>
 -                <include>*</include>
 -            </includes>
 -        </fileSet>
 -        <fileSet>
 -            <directory>${project.basedir}/../../storm-perf/</directory>
 -            <outputDirectory>perf</outputDirectory>
 -            <includes>
 -                <include>README.*</include>
 -            </includes>
 -        </fileSet>
 -
+         <!-- storm-sql -->
+         <fileSet>
+             <directory>${project.basedir}/../../../sql/storm-sql-core/target/app-assembler/repo</directory>
+             <outputDirectory>lib-tools/sql/core</outputDirectory>
+             <includes>
+                 <include>*jar</include>
+             </includes>
+         </fileSet>
+         <fileSet>
+             <directory>${project.basedir}/../../../sql/storm-sql-runtime/target/app-assembler/repo</directory>
+             <outputDirectory>lib-tools/sql/runtime</outputDirectory>
+             <includes>
+                 <include>*jar</include>
+             </includes>
+         </fileSet>
+ 
+         <!-- storm-submit-tools -->
+         <fileSet>
+             <directory>${project.basedir}/../../../storm-submit-tools/target</directory>
+             <outputDirectory>lib-tools/submit-tools</outputDirectory>
+             <includes>
+                 <include>storm*jar</include>
+             </includes>
+         </fileSet>
+ 
 -
      </fileSets>
  
      <files>