You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@storm.apache.org by ki...@apache.org on 2015/11/18 21:03:35 UTC

[3/8] storm git commit: Merge branch 'master' of github.com:apache/storm into storm831

Merge branch 'master' of github.com:apache/storm into storm831

Conflicts:
	storm-core/src/clj/backtype/storm/ui/core.clj
	storm-core/src/ui/public/templates/user-template.html


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

Branch: refs/heads/master
Commit: d0575b94ed352315984dff519a171432d5719c78
Parents: 07722ff 4eccb15
Author: Kishor Patil <kp...@yahoo-inc.com>
Authored: Thu Nov 12 15:59:04 2015 +0000
Committer: Kishor Patil <kp...@yahoo-inc.com>
Committed: Thu Nov 12 16:29:12 2015 +0000

----------------------------------------------------------------------
 .gitignore                                      |     5 +-
 .travis.yml                                     |    14 +-
 CHANGELOG.md                                    |   428 +-
 DEVELOPER.md                                    |    61 +-
 DISCLAIMER                                      |    10 -
 LICENSE                                         |    25 +-
 NOTICE                                          |     4 +-
 README.markdown                                 |    48 +-
 SECURITY.md                                     |   244 +-
 STORM-UI-REST-API.md                            |   703 -
 TODO                                            |   178 -
 bin/flight.bash                                 |   154 +
 bin/storm                                       |    20 +-
 bin/storm-config.cmd                            |    24 +-
 bin/storm.py                                    |   159 +-
 conf/defaults.yaml                              |    53 +-
 conf/jaas_kerberos.conf                         |    17 +
 conf/log4j2.xml                                 |    32 +
 conf/logback.xml                                |    28 -
 conf/storm.yaml.example                         |     2 +-
 dev-tools/github/__init__.py                    |   205 +-
 dev-tools/jira-github-join.py                   |    77 +-
 dev-tools/jira/__init__.py                      |   435 +-
 dev-tools/report/__init__.py                    |    14 +
 dev-tools/report/formatter.py                   |    68 +
 dev-tools/report/report.py                      |   252 +
 dev-tools/report/report_builder.py              |    86 +
 dev-tools/storm-merge.py                        |     2 +-
 dev-tools/test-ns.py                            |    36 +-
 .../print-errors-from-clojure-test-reports.py   |    58 -
 .../travis/print-errors-from-test-reports.py    |    76 +
 dev-tools/travis/ratprint.py                    |    26 +
 dev-tools/travis/save-logs.py                   |    54 +
 dev-tools/travis/travis-build.sh                |    50 -
 dev-tools/travis/travis-install.sh              |    44 +
 dev-tools/travis/travis-script.sh               |    50 +
 doap_Storm.rdf                                  |     6 +-
 docs/_posts/2015-06-04-storm095-released.md     |    23 +
 .../2015-06-15-storm0100-beta-released.md       |   294 +
 docs/about/multi-language.md                    |     2 +-
 docs/documentation/Concepts.md                  |     4 +-
 docs/documentation/Documentation.md             |     8 +-
 docs/documentation/FAQ.md                       |     9 +-
 .../Guaranteeing-message-processing.md          |     4 +-
 docs/documentation/Log-Search.md                |    14 +
 docs/documentation/Maven.md                     |     4 +-
 .../Message-passing-implementation.md           |    34 +-
 docs/documentation/Metrics.md                   |     2 +-
 docs/documentation/Multilang-protocol.md        |     9 +-
 ...unning-topologies-on-a-production-cluster.md |     4 +-
 .../documentation/Setting-up-a-Storm-cluster.md |    29 +-
 docs/documentation/Structure-of-the-codebase.md |     2 +-
 docs/documentation/Troubleshooting.md           |    37 +
 docs/documentation/Tutorial.md                  |    16 +-
 ...nding-the-parallelism-of-a-Storm-topology.md |     5 +-
 .../documentation/dynamic-log-level-settings.md |    41 +
 docs/documentation/dynamic-worker-profiling.md  |    29 +
 .../images/dynamic_log_level_settings_1.png     |   Bin 0 -> 93689 bytes
 .../images/dynamic_log_level_settings_2.png     |   Bin 0 -> 78785 bytes
 .../images/dynamic_profiling_debugging_1.png    |   Bin 0 -> 93635 bytes
 .../images/dynamic_profiling_debugging_2.png    |   Bin 0 -> 138120 bytes
 .../images/dynamic_profiling_debugging_3.png    |   Bin 0 -> 96974 bytes
 .../nimbus_ha_leader_election_and_failover.png  |   Bin 0 -> 154316 bytes
 .../images/nimbus_ha_topology_submission.png    |   Bin 0 -> 134180 bytes
 docs/documentation/images/search-a-topology.png |   Bin 0 -> 671031 bytes
 .../images/search-for-a-single-worker-log.png   |   Bin 0 -> 736579 bytes
 docs/documentation/nimbus-ha-design.md          |   217 +
 .../storm-metrics-profiling-internal-actions.md |    70 +
 docs/documentation/ui-rest-api.md               |   984 +
 docs/downloads.html                             |    95 +-
 docs/images/viewing_metrics_with_VisualVM.png   |   Bin 0 -> 225100 bytes
 examples/storm-starter/README.markdown          |     8 +-
 examples/storm-starter/pom.xml                  |    46 +-
 .../jvm/storm/starter/BasicDRPCTopology.java    |     5 +-
 .../storm/starter/FastWordCountTopology.java    |   198 +
 .../jvm/storm/starter/InOrderDeliveryTest.java  |   175 +
 .../storm/starter/MultipleLoggerTopology.java   |   105 +
 .../src/jvm/storm/starter/ReachTopology.java    |     4 +-
 .../starter/ResourceAwareExampleTopology.java   |   101 +
 .../jvm/storm/starter/ThroughputVsLatency.java  |   432 +
 .../storm/starter/TransactionalGlobalCount.java |     5 +-
 .../starter/trident/TridentKafkaWordCount.java  |   230 +
 .../bolt/IntermediateRankingsBoltTest.java      |     2 +-
 .../starter/bolt/RollingCountBoltTest.java      |     2 +-
 .../starter/bolt/TotalRankingsBoltTest.java     |     2 +-
 .../storm/starter/tools/MockTupleHelpers.java   |    40 -
 external/flux/.gitignore                        |    15 +
 external/flux/README.md                         |   835 +
 external/flux/flux-core/pom.xml                 |    95 +
 .../main/java/org/apache/storm/flux/Flux.java   |   264 +
 .../java/org/apache/storm/flux/FluxBuilder.java |   608 +
 .../apache/storm/flux/api/TopologySource.java   |    39 +
 .../org/apache/storm/flux/model/BeanDef.java    |    39 +
 .../apache/storm/flux/model/BeanReference.java  |    39 +
 .../org/apache/storm/flux/model/BoltDef.java    |    24 +
 .../storm/flux/model/ConfigMethodDef.java       |    62 +
 .../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  |    90 +
 .../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     |   245 +
 .../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    |    84 +
 .../storm/flux/test/TridentTopologySource.java  |    71 +
 .../src/test/resources/configs/bad_hbase.yaml   |    98 +
 .../resources/configs/config-methods-test.yaml  |    71 +
 .../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  |   104 +
 .../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-examples/README.md           |    66 +
 external/flux/flux-examples/pom.xml             |   140 +
 .../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 +
 .../src/main/resources/simple_wordcount.yaml    |    68 +
 external/flux/flux-ui/README.md                 |     3 +
 external/flux/flux-wrappers/pom.xml             |    51 +
 .../flux/wrappers/bolts/FluxShellBolt.java      |    56 +
 .../storm/flux/wrappers/bolts/LogInfoBolt.java  |    44 +
 .../flux/wrappers/spouts/FluxShellSpout.java    |    55 +
 .../main/resources/resources/randomsentence.js  |    93 +
 .../main/resources/resources/splitsentence.py   |    24 +
 external/flux/pom.xml                           |   119 +
 external/storm-elasticsearch/README.md          |    99 +
 external/storm-elasticsearch/pom.xml            |   108 +
 .../elasticsearch/ElasticsearchGetRequest.java  |    36 +
 .../elasticsearch/EsLookupResultOutput.java     |    43 +
 .../elasticsearch/bolt/AbstractEsBolt.java      |    81 +
 .../storm/elasticsearch/bolt/EsIndexBolt.java   |    75 +
 .../storm/elasticsearch/bolt/EsLookupBolt.java  |    81 +
 .../elasticsearch/bolt/EsPercolateBolt.java     |    88 +
 .../common/DefaultEsTupleMapper.java            |    42 +
 .../storm/elasticsearch/common/EsConfig.java    |    82 +
 .../elasticsearch/common/EsTupleMapper.java     |    55 +
 .../common/StormElasticSearchClient.java        |    48 +
 .../common/TransportAddresses.java              |    72 +
 .../storm/elasticsearch/trident/EsState.java    |   113 +
 .../elasticsearch/trident/EsStateFactory.java   |    55 +
 .../storm/elasticsearch/trident/EsUpdater.java  |    35 +
 .../bolt/AbstractEsBoltIntegrationTest.java     |    91 +
 .../elasticsearch/bolt/AbstractEsBoltTest.java  |    65 +
 .../elasticsearch/bolt/EsIndexBoltTest.java     |    69 +
 .../elasticsearch/bolt/EsIndexTopology.java     |   120 +
 .../bolt/EsLookupBoltIntegrationTest.java       |   137 +
 .../elasticsearch/bolt/EsLookupBoltTest.java    |   125 +
 .../elasticsearch/bolt/EsPercolateBoltTest.java |    62 +
 .../elasticsearch/common/EsConfigTest.java      |    71 +
 .../storm/elasticsearch/common/EsConstants.java |    22 +
 .../storm/elasticsearch/common/EsTestUtil.java  |    75 +
 .../common/TransportAddressesTest.java          |    81 +
 .../trident/EsStateFactoryTest.java             |    32 +
 .../trident/TridentEsTopology.java              |   135 +
 external/storm-eventhubs/pom.xml                |    39 +-
 .../eventhubs/bolt/DefaultEventDataFormat.java  |    47 +
 .../storm/eventhubs/bolt/EventHubBolt.java      |    56 +-
 .../eventhubs/bolt/EventHubBoltConfig.java      |   109 +
 .../storm/eventhubs/bolt/IEventDataFormat.java  |    28 +
 .../client/ConnectionStringBuilder.java         |   116 -
 .../storm/eventhubs/client/Constants.java       |    32 -
 .../storm/eventhubs/client/EventHubClient.java  |    92 -
 .../eventhubs/client/EventHubConsumerGroup.java |    72 -
 .../eventhubs/client/EventHubException.java     |    37 -
 .../eventhubs/client/EventHubReceiver.java      |   139 -
 .../eventhubs/client/EventHubSendClient.java    |    70 -
 .../storm/eventhubs/client/EventHubSender.java  |    95 -
 .../storm/eventhubs/client/SelectorFilter.java  |    38 -
 .../eventhubs/client/SelectorFilterWriter.java  |    64 -
 .../storm/eventhubs/samples/EventCount.java     |     5 +-
 .../storm/eventhubs/samples/EventHubLoop.java   |     9 +-
 .../eventhubs/spout/EventHubReceiverFilter.java |    56 -
 .../eventhubs/spout/EventHubReceiverImpl.java   |    49 +-
 .../storm/eventhubs/spout/EventHubSpout.java    |     5 +
 .../eventhubs/spout/EventHubSpoutConfig.java    |   126 +-
 .../eventhubs/spout/IEventHubReceiver.java      |     5 +-
 .../spout/IEventHubReceiverFilter.java          |    35 -
 .../eventhubs/spout/SimplePartitionManager.java |    11 +-
 .../spout/StaticPartitionCoordinator.java       |     2 +-
 .../trident/OpaqueTridentEventHubSpout.java     |     2 +-
 .../TransactionalTridentEventHubEmitter.java    |     2 +-
 .../TransactionalTridentEventHubSpout.java      |     2 +-
 .../trident/TridentPartitionManager.java        |    12 +-
 .../src/main/resources/config.properties        |    20 +-
 .../eventhubs/spout/EventHubReceiverMock.java   |    18 +-
 .../spout/SpoutOutputCollectorMock.java         |     5 +
 .../eventhubs/spout/TestEventHubSpout.java      |     4 +-
 external/storm-hbase/LICENSE                    |   202 -
 external/storm-hbase/README.md                  |    10 +
 external/storm-hbase/pom.xml                    |     2 +-
 .../storm/hbase/bolt/AbstractHBaseBolt.java     |     2 +
 .../org/apache/storm/hbase/bolt/HBaseBolt.java  |    75 +-
 .../org/apache/storm/hbase/common/Utils.java    |    10 +-
 external/storm-hdfs/README.md                   |    42 +
 external/storm-hdfs/pom.xml                     |    90 +-
 .../storm/hdfs/bolt/AbstractHdfsBolt.java       |   124 +
 .../storm/hdfs/bolt/AvroGenericRecordBolt.java  |   145 +
 .../org/apache/storm/hdfs/bolt/HdfsBolt.java    |    51 +-
 .../storm/hdfs/bolt/SequenceFileBolt.java       |    42 +-
 .../hdfs/common/security/HdfsSecurityUtil.java  |     5 +-
 .../ha/codedistributor/HDFSCodeDistributor.java |   118 +
 .../apache/storm/hdfs/trident/HdfsState.java    |   392 +-
 .../trident/rotation/FileRotationPolicy.java    |    14 +
 .../rotation/FileSizeRotationPolicy.java        |    13 +
 .../hdfs/trident/rotation/NoRotationPolicy.java |    10 +
 .../trident/rotation/TimedRotationPolicy.java   |    31 +-
 .../hdfs/bolt/AvroGenericRecordBoltTest.java    |   220 +
 .../apache/storm/hdfs/bolt/TestHdfsBolt.java    |   258 +
 .../storm/hdfs/bolt/TestSequenceFileBolt.java   |   186 +
 .../storm/hdfs/trident/FixedBatchSpout.java     |     2 +-
 .../storm/hdfs/trident/HdfsStateTest.java       |   223 +
 external/storm-hive/README.md                   |    18 +-
 external/storm-hive/pom.xml                     |    52 +
 .../org/apache/storm/hive/bolt/HiveBolt.java    |    86 +-
 .../apache/storm/hive/common/HiveOptions.java   |    11 +
 .../apache/storm/hive/common/HiveWriter.java    |     5 +-
 .../storm/hive/trident/HiveStateFactory.java    |    17 +
 .../apache/storm/hive/trident/HiveUpdater.java  |    17 +
 .../apache/storm/hive/bolt/TestHiveBolt.java    |   164 +-
 .../storm/hive/trident/TridentHiveTopology.java |     2 +-
 external/storm-jdbc/LICENSE                     |   202 -
 external/storm-jdbc/README.md                   |    76 +-
 external/storm-jdbc/pom.xml                     |     4 +
 .../storm/jdbc/bolt/AbstractJdbcBolt.java       |    17 +-
 .../apache/storm/jdbc/bolt/JdbcInsertBolt.java  |    14 +-
 .../apache/storm/jdbc/bolt/JdbcLookupBolt.java  |    10 +-
 .../org/apache/storm/jdbc/common/Column.java    |     7 +-
 .../storm/jdbc/common/ConnectionProvider.java   |    43 +
 .../jdbc/common/HikariCPConnectionProvider.java |    63 +
 .../apache/storm/jdbc/common/JdbcClient.java    |    19 +-
 .../storm/jdbc/mapper/JdbcLookupMapper.java     |    17 +
 .../jdbc/mapper/SimpleJdbcLookupMapper.java     |    20 +
 .../storm/jdbc/mapper/SimpleJdbcMapper.java     |    11 +-
 .../storm/jdbc/trident/state/JdbcState.java     |    13 +-
 .../storm/jdbc/bolt/JdbcInsertBoltTest.java     |    71 +
 .../storm/jdbc/bolt/JdbcLookupBoltTest.java     |    59 +
 .../storm/jdbc/common/JdbcClientTest.java       |     5 +-
 .../jdbc/topology/AbstractUserTopology.java     |    17 +-
 .../jdbc/topology/UserPersistanceTopology.java  |    18 +-
 .../UserPersistanceTridentTopology.java         |     2 +-
 external/storm-jdbc/src/test/sql/test.sql       |    17 +
 external/storm-kafka/CHANGELOG.md               |    13 -
 external/storm-kafka/README.md                  |   118 +-
 external/storm-kafka/pom.xml                    |    23 +-
 .../jvm/storm/kafka/DynamicBrokersReader.java   |    97 +-
 .../kafka/DynamicPartitionConnections.java      |    20 +-
 .../ExponentialBackoffMsgRetryManager.java      |    25 +-
 .../jvm/storm/kafka/FailedMsgRetryManager.java  |     3 +
 .../src/jvm/storm/kafka/KafkaConfig.java        |     3 +-
 .../src/jvm/storm/kafka/KafkaSpout.java         |    32 +-
 .../src/jvm/storm/kafka/KafkaUtils.java         |    93 +-
 .../jvm/storm/kafka/MessageMetadataScheme.java  |    25 +
 .../MessageMetadataSchemeAsMultiScheme.java     |    40 +
 .../src/jvm/storm/kafka/Partition.java          |    26 +-
 .../src/jvm/storm/kafka/PartitionManager.java   |    54 +-
 .../src/jvm/storm/kafka/SpoutConfig.java        |     3 +
 .../src/jvm/storm/kafka/StaticCoordinator.java  |    11 +-
 .../kafka/StringMessageAndMetadataScheme.java   |    42 +
 .../storm/kafka/StringMultiSchemeWithTopic.java |    57 +
 .../src/jvm/storm/kafka/ZkCoordinator.java      |     4 +-
 .../src/jvm/storm/kafka/ZkState.java            |     2 +-
 .../src/jvm/storm/kafka/bolt/KafkaBolt.java     |    92 +-
 .../jvm/storm/kafka/trident/Coordinator.java    |     7 +-
 .../trident/GlobalPartitionInformation.java     |    26 +-
 .../jvm/storm/kafka/trident/IBrokerReader.java  |     7 +-
 .../kafka/trident/OpaqueTridentKafkaSpout.java  |     9 +-
 .../storm/kafka/trident/StaticBrokerReader.java |    23 +-
 .../trident/TransactionalTridentKafkaSpout.java |     4 +-
 .../kafka/trident/TridentKafkaEmitter.java      |    48 +-
 .../storm/kafka/trident/TridentKafkaState.java  |    25 +-
 .../jvm/storm/kafka/trident/ZkBrokerReader.java |    20 +-
 .../storm/kafka/DynamicBrokersReaderTest.java   |   114 +-
 .../ExponentialBackoffMsgRetryManagerTest.java  |    43 +-
 .../src/test/storm/kafka/KafkaUtilsTest.java    |   134 +-
 .../src/test/storm/kafka/TestUtils.java         |    20 +-
 .../test/storm/kafka/TridentKafkaTopology.java  |     8 +-
 .../src/test/storm/kafka/ZkCoordinatorTest.java |     9 +-
 .../test/storm/kafka/bolt/KafkaBoltTest.java    |   113 +-
 external/storm-metrics/pom.xml                  |    58 +
 .../metrics/hdrhistogram/HistogramMetric.java   |    79 +
 .../apache/storm/metrics/sigar/CPUMetric.java   |    60 +
 .../resources/libsigar-amd64-freebsd-6.so       |   Bin 0 -> 210641 bytes
 .../resources/resources/libsigar-amd64-linux.so |   Bin 0 -> 246605 bytes
 .../resources/libsigar-amd64-solaris.so         |   Bin 0 -> 251360 bytes
 .../resources/libsigar-ia64-hpux-11.sl          |   Bin 0 -> 577452 bytes
 .../resources/resources/libsigar-ia64-linux.so  |   Bin 0 -> 494929 bytes
 .../resources/resources/libsigar-pa-hpux-11.sl  |   Bin 0 -> 516096 bytes
 .../resources/resources/libsigar-ppc-aix-5.so   |   Bin 0 -> 400925 bytes
 .../resources/resources/libsigar-ppc-linux.so   |   Bin 0 -> 258547 bytes
 .../resources/resources/libsigar-ppc64-aix-5.so |   Bin 0 -> 425077 bytes
 .../resources/resources/libsigar-ppc64-linux.so |   Bin 0 -> 330767 bytes
 .../resources/resources/libsigar-s390x-linux.so |   Bin 0 -> 269932 bytes
 .../resources/libsigar-sparc-solaris.so         |   Bin 0 -> 285004 bytes
 .../resources/libsigar-sparc64-solaris.so       |   Bin 0 -> 261896 bytes
 .../resources/libsigar-universal-macosx.dylib   |   Bin 0 -> 377668 bytes
 .../resources/libsigar-universal64-macosx.dylib |   Bin 0 -> 397440 bytes
 .../resources/libsigar-x86-freebsd-5.so         |   Bin 0 -> 179751 bytes
 .../resources/libsigar-x86-freebsd-6.so         |   Bin 0 -> 179379 bytes
 .../resources/resources/libsigar-x86-linux.so   |   Bin 0 -> 233385 bytes
 .../resources/resources/libsigar-x86-solaris.so |   Bin 0 -> 242880 bytes
 .../resources/resources/sigar-amd64-winnt.dll   |   Bin 0 -> 402432 bytes
 .../resources/resources/sigar-x86-winnt.dll     |   Bin 0 -> 266240 bytes
 .../resources/resources/sigar-x86-winnt.lib     |   Bin 0 -> 99584 bytes
 external/storm-redis/LICENSE                    |   202 -
 external/storm-redis/README.md                  |    21 +-
 .../storm/redis/bolt/AbstractRedisBolt.java     |    42 +
 .../storm/redis/bolt/RedisLookupBolt.java       |    23 +-
 .../apache/storm/redis/bolt/RedisStoreBolt.java |    21 +
 .../redis/common/config/JedisClusterConfig.java |    55 +-
 .../redis/common/config/JedisPoolConfig.java    |    66 +
 .../common/container/JedisClusterContainer.java |    18 +
 .../JedisCommandsContainerBuilder.java          |    15 +
 .../JedisCommandsInstanceContainer.java         |    12 +
 .../redis/common/container/JedisContainer.java  |    16 +
 .../common/mapper/RedisDataTypeDescription.java |    20 +
 .../redis/common/mapper/RedisLookupMapper.java  |     7 +-
 .../storm/redis/common/mapper/RedisMapper.java  |     9 +-
 .../redis/common/mapper/RedisStoreMapper.java   |     3 +
 .../storm/redis/common/mapper/TupleMapper.java  |    18 +-
 .../trident/state/AbstractRedisMapState.java    |   137 +
 .../state/AbstractRedisStateQuerier.java        |    95 +
 .../state/AbstractRedisStateUpdater.java        |    96 +
 .../storm/redis/trident/state/KeyFactory.java   |    57 +
 .../storm/redis/trident/state/Options.java      |    40 +
 .../trident/state/RedisClusterMapState.java     |   284 +-
 .../redis/trident/state/RedisClusterState.java  |    44 +-
 .../trident/state/RedisClusterStateQuerier.java |    75 +-
 .../trident/state/RedisClusterStateUpdater.java |    89 +-
 .../redis/trident/state/RedisMapState.java      |   333 +-
 .../storm/redis/trident/state/RedisState.java   |    44 +-
 .../redis/trident/state/RedisStateQuerier.java  |    71 +-
 .../redis/trident/state/RedisStateUpdater.java  |    93 +-
 .../redis/trident/WordCountLookupMapper.java    |    57 +
 .../redis/trident/WordCountStoreMapper.java     |    39 +
 .../redis/trident/WordCountTridentRedis.java    |    12 +-
 .../trident/WordCountTridentRedisCluster.java   |    11 +-
 .../WordCountTridentRedisClusterMap.java        |     6 +-
 .../redis/trident/WordCountTridentRedisMap.java |     8 +-
 .../redis/trident/WordCountTupleMapper.java     |    16 -
 external/storm-solr/README.md                   |   201 +
 external/storm-solr/pom.xml                     |   115 +
 .../apache/storm/solr/bolt/SolrUpdateBolt.java  |   136 +
 .../storm/solr/config/CountBasedCommit.java     |    59 +
 .../storm/solr/config/SolrCommitStrategy.java   |    30 +
 .../apache/storm/solr/config/SolrConfig.java    |    42 +
 .../storm/solr/mapper/SolrFieldsMapper.java     |   182 +
 .../storm/solr/mapper/SolrJsonMapper.java       |   160 +
 .../apache/storm/solr/mapper/SolrMapper.java    |    32 +
 .../storm/solr/mapper/SolrMapperException.java  |    24 +
 .../org/apache/storm/solr/schema/CopyField.java |    50 +
 .../org/apache/storm/solr/schema/Field.java     |    50 +
 .../org/apache/storm/solr/schema/FieldType.java |    63 +
 .../org/apache/storm/solr/schema/Schema.java    |   116 +
 .../storm/solr/schema/SolrFieldTypeFinder.java  |   182 +
 .../schema/builder/RestJsonSchemaBuilder.java   |    69 +
 .../solr/schema/builder/SchemaBuilder.java      |    27 +
 .../apache/storm/solr/trident/SolrState.java    |    67 +
 .../storm/solr/trident/SolrStateFactory.java    |    44 +
 .../apache/storm/solr/trident/SolrUpdater.java  |    33 +
 .../storm/solr/spout/SolrFieldsSpout.java       |    76 +
 .../apache/storm/solr/spout/SolrJsonSpout.java  |   120 +
 .../storm/solr/topology/SolrFieldsTopology.java |    56 +
 .../storm/solr/topology/SolrJsonTopology.java   |    48 +
 .../storm/solr/topology/SolrTopology.java       |    82 +
 .../solr/trident/SolrFieldsTridentTopology.java |    45 +
 .../solr/trident/SolrJsonTridentTopology.java   |    45 +
 .../org/apache/storm/solr/util/TestUtil.java    |    30 +
 log4j2/cluster.xml                              |    92 +
 log4j2/worker.xml                               |    77 +
 logback/cluster.xml                             |    85 -
 logback/worker.xml                              |    41 -
 pom.xml                                         |   331 +-
 storm-core/pom.xml                              |   482 +-
 storm-core/src/clj/backtype/storm/cluster.clj   |   290 +-
 .../clj/backtype/storm/command/get_errors.clj   |    52 +
 .../clj/backtype/storm/command/healthcheck.clj  |    88 +
 .../clj/backtype/storm/command/kill_workers.clj |    33 +
 .../backtype/storm/command/set_log_level.clj    |    75 +
 .../backtype/storm/command/shell_submission.clj |     9 +-
 storm-core/src/clj/backtype/storm/config.clj    |   134 +-
 storm-core/src/clj/backtype/storm/converter.clj |   120 +-
 .../backtype/storm/daemon/builtin_metrics.clj   |    99 +-
 .../src/clj/backtype/storm/daemon/common.clj    |    61 +-
 .../src/clj/backtype/storm/daemon/drpc.clj      |    46 +-
 .../src/clj/backtype/storm/daemon/executor.clj  |   300 +-
 .../src/clj/backtype/storm/daemon/logviewer.clj |  1099 +-
 .../src/clj/backtype/storm/daemon/nimbus.clj    |   845 +-
 .../clj/backtype/storm/daemon/supervisor.clj    |   366 +-
 .../src/clj/backtype/storm/daemon/task.clj      |    25 +-
 .../src/clj/backtype/storm/daemon/worker.clj    |   290 +-
 storm-core/src/clj/backtype/storm/disruptor.clj |    72 +-
 .../src/clj/backtype/storm/local_state.clj      |    44 +-
 storm-core/src/clj/backtype/storm/log.clj       |    12 +-
 .../src/clj/backtype/storm/messaging/loader.clj |    13 +-
 .../src/clj/backtype/storm/messaging/local.clj  |    34 +-
 storm-core/src/clj/backtype/storm/stats.clj     |  1521 +-
 storm-core/src/clj/backtype/storm/testing.clj   |    34 +-
 storm-core/src/clj/backtype/storm/thrift.clj    |    23 +-
 storm-core/src/clj/backtype/storm/timer.clj     |    27 +-
 storm-core/src/clj/backtype/storm/tuple.clj     |     6 +-
 storm-core/src/clj/backtype/storm/ui/core.clj   |  1442 +-
 .../src/clj/backtype/storm/ui/helpers.clj       |    89 +-
 storm-core/src/clj/backtype/storm/util.clj      |    74 +-
 storm-core/src/clj/backtype/storm/zookeeper.clj |   134 +-
 .../src/dev/drpc-simple-acl-test-scenario.yaml  |    17 +
 .../src/dev/logviewer-search-context-tests.log  |     1 +
 .../dev/logviewer-search-context-tests.log.gz   |   Bin 0 -> 72 bytes
 storm-core/src/dev/small-worker.log             |     1 +
 storm-core/src/dev/test-3072.log                |     3 +
 storm-core/src/dev/test-worker.log              |   380 +
 storm-core/src/genthrift.sh                     |     2 +-
 storm-core/src/jvm/backtype/storm/Config.java   |   898 +-
 .../jvm/backtype/storm/ConfigValidation.java    |   351 -
 .../src/jvm/backtype/storm/LogWriter.java       |    83 +
 .../src/jvm/backtype/storm/StormSubmitter.java  |    55 +-
 .../storm/codedistributor/ICodeDistributor.java |    73 +
 .../LocalFileSystemCodeDistributor.java         |   123 +
 .../storm/coordination/BatchBoltExecutor.java   |     4 +-
 .../coordination/BatchSubtopologyBuilder.java   |     6 +-
 .../storm/coordination/CoordinatedBolt.java     |    16 +-
 .../storm/drpc/DRPCInvocationsClient.java       |     5 +-
 .../src/jvm/backtype/storm/drpc/DRPCSpout.java  |    16 +-
 .../src/jvm/backtype/storm/drpc/JoinResult.java |     8 +-
 .../storm/drpc/LinearDRPCTopologyBuilder.java   |     9 +-
 .../storm/generated/AlreadyAliveException.java  |     4 +-
 .../backtype/storm/generated/Assignment.java    |   380 +-
 .../storm/generated/AuthorizationException.java |     4 +-
 .../src/jvm/backtype/storm/generated/Bolt.java  |     4 +-
 .../storm/generated/BoltAggregateStats.java     |   704 +
 .../jvm/backtype/storm/generated/BoltStats.java |   444 +-
 .../storm/generated/ClusterSummary.java         |   293 +-
 .../storm/generated/ClusterWorkerHeartbeat.java |    61 +-
 .../storm/generated/CommonAggregateStats.java   |   902 +
 .../generated/ComponentAggregateStats.java      |   752 +
 .../storm/generated/ComponentCommon.java        |     6 +-
 .../storm/generated/ComponentObject.java        |     2 +-
 .../storm/generated/ComponentPageInfo.java      |  2194 ++
 .../backtype/storm/generated/ComponentType.java |    62 +
 .../backtype/storm/generated/Credentials.java   |    48 +-
 .../storm/generated/DRPCExecutionException.java |     4 +-
 .../backtype/storm/generated/DRPCRequest.java   |     4 +-
 .../backtype/storm/generated/DebugOptions.java  |   506 +
 .../storm/generated/DistributedRPC.java         |     4 +-
 .../generated/DistributedRPCInvocations.java    |     4 +-
 .../jvm/backtype/storm/generated/ErrorInfo.java |     8 +-
 .../storm/generated/ExecutorAggregateStats.java |   526 +
 .../backtype/storm/generated/ExecutorInfo.java  |     8 +-
 .../storm/generated/ExecutorSpecificStats.java  |     2 +-
 .../backtype/storm/generated/ExecutorStats.java |   174 +-
 .../storm/generated/ExecutorSummary.java        |     8 +-
 .../storm/generated/GetInfoOptions.java         |     4 +-
 .../storm/generated/GlobalStreamId.java         |     4 +-
 .../jvm/backtype/storm/generated/Grouping.java  |     2 +-
 .../generated/InvalidTopologyException.java     |     4 +-
 .../backtype/storm/generated/JavaObject.java    |     4 +-
 .../backtype/storm/generated/JavaObjectArg.java |     2 +-
 .../backtype/storm/generated/KillOptions.java   |     6 +-
 .../storm/generated/LSApprovedWorkers.java      |    48 +-
 .../generated/LSSupervisorAssignments.java      |    52 +-
 .../storm/generated/LSSupervisorId.java         |     4 +-
 .../backtype/storm/generated/LSTopoHistory.java |   805 +
 .../storm/generated/LSTopoHistoryList.java      |   460 +
 .../storm/generated/LSWorkerHeartbeat.java      |    44 +-
 .../storm/generated/LocalAssignment.java        |   157 +-
 .../storm/generated/LocalStateData.java         |    52 +-
 .../jvm/backtype/storm/generated/LogConfig.java |   475 +
 .../jvm/backtype/storm/generated/LogLevel.java  |   836 +
 .../storm/generated/LogLevelAction.java         |    65 +
 .../jvm/backtype/storm/generated/Nimbus.java    | 18314 ++++++++++++-----
 .../backtype/storm/generated/NimbusSummary.java |   796 +
 .../jvm/backtype/storm/generated/NodeInfo.java  |    36 +-
 .../storm/generated/NotAliveException.java      |     4 +-
 .../backtype/storm/generated/NullStruct.java    |     4 +-
 .../storm/generated/NumErrorsChoice.java        |     2 +-
 .../backtype/storm/generated/ProfileAction.java |    74 +
 .../storm/generated/ProfileRequest.java         |   631 +
 .../storm/generated/RebalanceOptions.java       |    52 +-
 .../storm/generated/ShellComponent.java         |     4 +-
 .../storm/generated/SpecificAggregateStats.java |   387 +
 .../storm/generated/SpoutAggregateStats.java    |   407 +
 .../jvm/backtype/storm/generated/SpoutSpec.java |     4 +-
 .../backtype/storm/generated/SpoutStats.java    |   256 +-
 .../storm/generated/StateSpoutSpec.java         |     4 +-
 .../jvm/backtype/storm/generated/StormBase.java |   231 +-
 .../backtype/storm/generated/StormTopology.java |     4 +-
 .../backtype/storm/generated/StreamInfo.java    |     6 +-
 .../backtype/storm/generated/SubmitOptions.java |     4 +-
 .../storm/generated/SupervisorInfo.java         |   282 +-
 .../storm/generated/SupervisorSummary.java      |   176 +-
 .../storm/generated/ThriftSerializedObject.java |     4 +-
 .../storm/generated/TopologyActionOptions.java  |     2 +-
 .../storm/generated/TopologyHistoryInfo.java    |   461 +
 .../backtype/storm/generated/TopologyInfo.java  |   996 +-
 .../storm/generated/TopologyInitialStatus.java  |     2 +-
 .../storm/generated/TopologyPageInfo.java       |  2597 +++
 .../backtype/storm/generated/TopologyStats.java |  1094 +
 .../storm/generated/TopologyStatus.java         |     2 +-
 .../storm/generated/TopologySummary.java        |   715 +-
 .../storm/generated/WorkerResources.java        |   605 +
 .../src/jvm/backtype/storm/grouping/Load.java   |    77 +
 .../grouping/LoadAwareCustomStreamGrouping.java |    24 +
 .../grouping/LoadAwareShuffleGrouping.java      |    76 +
 .../backtype/storm/grouping/LoadMapping.java    |    64 +
 .../storm/grouping/PartialKeyGrouping.java      |    32 +-
 .../storm/grouping/ShuffleGrouping.java         |    65 +
 .../storm/logging/ThriftAccessLogger.java       |    27 +
 .../logging/filters/AccessLoggingFilter.java    |    52 +
 .../storm/messaging/ConnectionWithStatus.java   |    21 +-
 .../backtype/storm/messaging/IConnection.java   |    16 +
 .../jvm/backtype/storm/messaging/IContext.java  |     2 +-
 .../storm/messaging/TransportFactory.java       |     2 +-
 .../backtype/storm/messaging/netty/Client.java  |   550 +-
 .../backtype/storm/messaging/netty/Context.java |    28 +-
 .../storm/messaging/netty/ControlMessage.java   |     5 +-
 .../storm/messaging/netty/ISaslClient.java      |    28 +
 .../storm/messaging/netty/ISaslServer.java      |    26 +
 .../backtype/storm/messaging/netty/IServer.java |    26 +
 .../storm/messaging/netty/MessageBatch.java     |    38 +-
 .../storm/messaging/netty/MessageBuffer.java    |    58 +
 .../storm/messaging/netty/MessageDecoder.java   |     7 +-
 .../storm/messaging/netty/SaslMessageToken.java |    10 +-
 .../storm/messaging/netty/SaslNettyClient.java  |     6 +-
 .../storm/messaging/netty/SaslNettyServer.java  |     4 -
 .../messaging/netty/SaslStormClientHandler.java |    41 +-
 .../messaging/netty/SaslStormServerHandler.java |    11 +-
 .../storm/messaging/netty/SaslUtils.java        |    11 +-
 .../backtype/storm/messaging/netty/Server.java  |   101 +-
 .../messaging/netty/StormClientHandler.java     |    91 +
 .../netty/StormClientPipelineFactory.java       |    11 +-
 .../backtype/storm/metric/EventLoggerBolt.java  |    67 +
 .../storm/metric/FileBasedEventLogger.java      |   132 +
 .../metric/HttpForwardingMetricsConsumer.java   |    80 +
 .../metric/HttpForwardingMetricsServer.java     |   118 +
 .../jvm/backtype/storm/metric/IEventLogger.java |    70 +
 .../storm/metric/LoggingMetricsConsumer.java    |     1 -
 .../storm/metric/MetricsConsumerBolt.java       |     3 +-
 .../jvm/backtype/storm/metric/SystemBolt.java   |    20 +-
 .../backtype/storm/metric/api/CountMetric.java  |     2 -
 .../backtype/storm/metric/api/MeanReducer.java  |     4 +-
 .../storm/metric/api/MultiCountMetric.java      |     2 +-
 .../storm/metric/api/MultiReducedMetric.java    |     2 +-
 .../storm/metric/api/rpc/CountShellMetric.java  |     3 +-
 .../metric/internal/CountStatAndMetric.java     |   211 +
 .../metric/internal/LatencyStatAndMetric.java   |   259 +
 .../storm/metric/internal/MetricStatTimer.java  |    27 +
 .../internal/MultiCountStatAndMetric.java       |   112 +
 .../internal/MultiLatencyStatAndMetric.java     |   109 +
 .../storm/metric/internal/RateTracker.java      |   165 +
 .../AbstractDNSToSwitchMapping.java             |    95 +
 .../networktopography/DNSToSwitchMapping.java   |    50 +
 .../DefaultRackDNSToSwitchMapping.java          |    52 +
 .../backtype/storm/nimbus/ILeaderElector.java   |    73 +
 .../jvm/backtype/storm/nimbus/NimbusInfo.java   |   116 +
 .../jvm/backtype/storm/scheduler/Cluster.java   |   119 +-
 .../scheduler/SchedulerAssignmentImpl.java      |    15 +-
 .../storm/scheduler/SupervisorDetails.java      |    63 +-
 .../backtype/storm/scheduler/Topologies.java    |    27 +-
 .../storm/scheduler/TopologyDetails.java        |   377 +-
 .../backtype/storm/scheduler/WorkerSlot.java    |    25 +
 .../scheduler/multitenant/DefaultPool.java      |    22 +-
 .../storm/scheduler/multitenant/FreePool.java   |     6 +-
 .../scheduler/multitenant/IsolatedPool.java     |    32 +-
 .../multitenant/MultitenantScheduler.java       |     6 +-
 .../storm/scheduler/multitenant/Node.java       |    17 +-
 .../storm/scheduler/multitenant/NodePool.java   |    16 +-
 .../storm/scheduler/resource/Component.java     |    54 +
 .../storm/scheduler/resource/RAS_Node.java      |   575 +
 .../resource/ResourceAwareScheduler.java        |   167 +
 .../storm/scheduler/resource/ResourceUtils.java |   133 +
 .../resource/strategies/IStrategy.java          |    37 +
 .../strategies/ResourceAwareStrategy.java       |   479 +
 .../backtype/storm/security/auth/AuthUtils.java |    27 +-
 .../auth/DefaultHttpCredentialsPlugin.java      |     6 +-
 .../security/auth/DefaultPrincipalToLocal.java  |     1 -
 .../storm/security/auth/IAuthorizer.java        |     4 +-
 .../security/auth/ICredentialsRenewer.java      |     3 +-
 .../security/auth/IHttpCredentialsPlugin.java   |     2 -
 .../storm/security/auth/IPrincipalToLocal.java  |     2 +-
 .../storm/security/auth/ITransportPlugin.java   |     4 -
 .../security/auth/KerberosPrincipalToLocal.java |     2 +-
 .../storm/security/auth/ReqContext.java         |    18 +-
 .../security/auth/SaslTransportPlugin.java      |    20 +-
 .../security/auth/ShellBasedGroupsMapping.java  |    12 +-
 .../security/auth/SimpleTransportPlugin.java    |     8 +-
 .../security/auth/SingleUserPrincipal.java      |     5 +-
 .../storm/security/auth/TBackoffConnect.java    |     1 -
 .../storm/security/auth/ThriftClient.java       |    10 +-
 .../storm/security/auth/ThriftServer.java       |     6 +-
 .../auth/authorizer/DRPCAuthorizerBase.java     |    19 +-
 .../authorizer/DRPCSimpleACLAuthorizer.java     |    39 +-
 .../auth/authorizer/DenyAuthorizer.java         |    16 +-
 .../authorizer/ImpersonationAuthorizer.java     |    36 +-
 .../auth/authorizer/NoopAuthorizer.java         |    12 +-
 .../auth/authorizer/SimpleACLAuthorizer.java    |    45 +-
 .../authorizer/SimpleWhitelistAuthorizer.java   |    16 +-
 .../auth/digest/ClientCallbackHandler.java      |     2 -
 .../auth/digest/DigestSaslTransportPlugin.java  |     2 -
 .../auth/digest/ServerCallbackHandler.java      |     5 +-
 .../storm/security/auth/kerberos/AutoTGT.java   |    10 +-
 .../kerberos/KerberosSaslTransportPlugin.java   |     5 +-
 .../security/auth/kerberos/NoOpTTrasport.java   |    54 +
 .../auth/kerberos/ServerCallbackHandler.java    |     2 +
 .../auth/kerberos/jaas_kerberos_cluster.conf    |    20 +-
 .../auth/kerberos/jaas_kerberos_launcher.conf   |    19 +
 .../serialization/BlowfishTupleSerializer.java  |    11 +-
 .../GzipThriftSerializationDelegate.java        |     1 -
 .../storm/serialization/ITupleDeserializer.java |     1 -
 .../serialization/KryoTupleDeserializer.java    |     3 -
 .../serialization/KryoValuesDeserializer.java   |     3 +-
 .../serialization/SerializationFactory.java     |    23 +-
 .../storm/spout/ISpoutOutputCollector.java      |     6 +-
 .../jvm/backtype/storm/spout/ShellSpout.java    |    12 +-
 .../storm/spout/SpoutOutputCollector.java       |     5 +
 .../storm/task/GeneralTopologyContext.java      |    15 +-
 .../src/jvm/backtype/storm/task/ShellBolt.java  |    55 +-
 .../backtype/storm/task/TopologyContext.java    |    70 +-
 .../AlternateRackDNSToSwitchMapping.java        |    65 +
 .../storm/testing/MemoryTransactionalSpout.java |     9 +-
 .../testing/OpaqueMemoryTransactionalSpout.java |    10 +-
 .../backtype/storm/testing/SpoutTracker.java    |     6 +
 .../storm/testing/TestWordBytesCounter.java     |    27 +
 .../backtype/storm/testing/TestWordCounter.java |     6 +-
 .../storm/testing/TupleCaptureBolt.java         |     4 +-
 .../topology/BaseConfigurationDeclarer.java     |    33 +-
 .../storm/topology/BasicBoltExecutor.java       |     2 +-
 .../ComponentConfigurationDeclarer.java         |     5 +-
 .../storm/topology/IBasicOutputCollector.java   |     5 +-
 .../storm/topology/OutputFieldsGetter.java      |     2 +-
 .../storm/topology/TopologyBuilder.java         |    50 +-
 .../storm/topology/base/BaseBatchBolt.java      |     1 -
 .../topology/base/BaseTransactionalSpout.java   |     1 -
 .../TransactionalSpoutBatchExecutor.java        |     4 +-
 .../TransactionalSpoutCoordinator.java          |     2 +-
 .../TransactionalTopologyBuilder.java           |    12 +-
 ...uePartitionedTransactionalSpoutExecutor.java |    13 +-
 .../PartitionedTransactionalSpoutExecutor.java  |     2 +-
 .../src/jvm/backtype/storm/tuple/Fields.java    |    29 +-
 .../src/jvm/backtype/storm/tuple/ITuple.java    |   126 +-
 .../src/jvm/backtype/storm/tuple/MessageId.java |    10 +-
 .../src/jvm/backtype/storm/tuple/Tuple.java     |    12 +-
 .../src/jvm/backtype/storm/tuple/TupleImpl.java |    17 +-
 .../jvm/backtype/storm/utils/DRPCClient.java    |     1 -
 .../utils/DisruptorBackpressureCallback.java    |    27 +
 .../backtype/storm/utils/DisruptorQueue.java    |   472 +-
 .../backtype/storm/utils/InprocMessaging.java   |     4 +-
 .../storm/utils/KeyedRoundRobinQueue.java       |     6 +-
 .../jvm/backtype/storm/utils/ListDelegate.java  |     6 +-
 .../jvm/backtype/storm/utils/LocalState.java    |    22 +-
 .../src/jvm/backtype/storm/utils/Monitor.java   |     3 +-
 .../jvm/backtype/storm/utils/MutableObject.java |     6 +-
 .../jvm/backtype/storm/utils/NimbusClient.java  |    72 +-
 .../storm/utils/RegisteredGlobalState.java      |     6 +-
 .../jvm/backtype/storm/utils/RotatingMap.java   |    14 +-
 .../backtype/storm/utils/ServiceRegistry.java   |     2 +-
 .../jvm/backtype/storm/utils/ShellProcess.java  |    31 +-
 .../jvm/backtype/storm/utils/ShellUtils.java    |     2 +-
 .../StormBoundedExponentialBackoffRetry.java    |     7 +-
 .../src/jvm/backtype/storm/utils/Time.java      |    16 +-
 .../jvm/backtype/storm/utils/TimeCacheMap.java  |    60 +-
 .../backtype/storm/utils/TransferDrainer.java   |    71 +-
 .../src/jvm/backtype/storm/utils/Utils.java     |   408 +-
 .../jvm/backtype/storm/utils/VersionInfo.java   |     2 +-
 .../storm/utils/WorkerBackpressureCallback.java |    26 +
 .../storm/utils/WorkerBackpressureThread.java   |    59 +
 .../storm/validation/ConfigValidation.java      |   628 +
 .../validation/ConfigValidationAnnotations.java |   214 +
 .../storm/validation/ConfigValidationUtils.java |   175 +
 .../src/jvm/storm/trident/TridentTopology.java  |   100 +-
 .../trident/drpc/ReturnResultsReducer.java      |     4 +-
 .../fluent/ChainedAggregatorDeclarer.java       |     8 +-
 .../jvm/storm/trident/graph/GraphGrouper.java   |    13 +-
 .../src/jvm/storm/trident/graph/Group.java      |    23 +-
 .../trident/operation/builtin/SnapshotGet.java  |     4 +-
 .../operation/builtin/TupleCollectionGet.java   |     6 +-
 .../storm/trident/partition/GlobalGrouping.java |     5 +-
 .../trident/partition/IdentityGrouping.java     |     8 +-
 .../src/jvm/storm/trident/planner/Node.java     |     5 +-
 .../storm/trident/planner/PartitionNode.java    |     2 -
 .../storm/trident/planner/SubtopologyBolt.java  |    21 +-
 .../processor/MultiReducerProcessor.java        |     2 +-
 .../storm/trident/spout/BatchSpoutExecutor.java |     2 +-
 .../jvm/storm/trident/spout/IBatchSpout.java    |     2 +-
 .../spout/IOpaquePartitionedTridentSpout.java   |     2 +-
 .../trident/spout/IPartitionedTridentSpout.java |     2 +-
 .../jvm/storm/trident/spout/ITridentSpout.java  |    57 +-
 .../OpaquePartitionedTridentSpoutExecutor.java  |    30 +-
 .../spout/PartitionedTridentSpoutExecutor.java  |    26 +-
 .../trident/spout/RichSpoutBatchExecutor.java   |    15 +-
 .../trident/spout/RichSpoutBatchTriggerer.java  |    18 +-
 .../trident/spout/TridentSpoutCoordinator.java  |     6 +-
 .../trident/spout/TridentSpoutExecutor.java     |    14 +-
 .../storm/trident/testing/FeederBatchSpout.java |     4 +-
 .../testing/FeederCommitterBatchSpout.java      |     2 +-
 .../storm/trident/testing/FixedBatchSpout.java  |     2 +-
 .../trident/topology/TridentBoltExecutor.java   |    27 +-
 .../topology/TridentTopologyBuilder.java        |    45 +-
 .../storm/trident/tuple/TridentTupleView.java   |    18 +-
 .../worker-launcher/.deps/worker-launcher.Po    |    16 +
 .../src/native/worker-launcher/impl/main.c      |    10 +
 .../worker-launcher/impl/worker-launcher.c      |    49 +-
 .../worker-launcher/impl/worker-launcher.h      |     2 +
 storm-core/src/py/storm/DistributedRPC-remote   |     2 +-
 storm-core/src/py/storm/DistributedRPC.py       |    20 +-
 .../py/storm/DistributedRPCInvocations-remote   |     2 +-
 .../src/py/storm/DistributedRPCInvocations.py   |    41 +-
 storm-core/src/py/storm/Nimbus-remote           |    58 +-
 storm-core/src/py/storm/Nimbus.py               |  2676 ++-
 storm-core/src/py/storm/constants.py            |     2 +-
 storm-core/src/py/storm/ttypes.py               |  5243 ++++-
 storm-core/src/storm.thrift                     |   216 +-
 storm-core/src/ui/public/component.html         |   173 +-
 storm-core/src/ui/public/css/style.css          |     8 +
 .../src/ui/public/deep_search_result.html       |   155 +
 storm-core/src/ui/public/images/search.png      |   Bin 0 -> 2354 bytes
 storm-core/src/ui/public/index.html             |    27 +-
 storm-core/src/ui/public/js/script.js           |   100 +-
 .../src/ui/public/js/typeahead.jquery.min.js    |     7 +
 storm-core/src/ui/public/js/visualization.js    |    92 +-
 storm-core/src/ui/public/logviewer_search.html  |    65 +
 storm-core/src/ui/public/search_result.html     |   100 +
 .../templates/component-page-template.html      |    72 +-
 .../deep-search-result-page-template.html       |    66 +
 .../public/templates/index-page-template.html   |    77 +-
 .../logviewer-search-page-template.html         |    44 +
 .../templates/search-result-page-template.html  |    60 +
 .../templates/topology-page-template.html       |   213 +-
 .../src/ui/public/templates/user-template.html  |     3 +
 storm-core/src/ui/public/topology.html          |   197 +-
 .../test/clj/backtype/storm/cluster_test.clj    |    35 +-
 .../test/clj/backtype/storm/config_test.clj     |   149 -
 .../test/clj/backtype/storm/grouping_test.clj   |   127 +-
 .../clj/backtype/storm/integration_test.clj     |    12 +-
 .../test/clj/backtype/storm/logviewer_test.clj  |   726 +-
 .../storm/messaging/netty_integration_test.clj  |     3 +-
 .../storm/messaging/netty_unit_test.clj         |   234 +-
 .../test/clj/backtype/storm/messaging_test.clj  |     3 +-
 .../test/clj/backtype/storm/multilang_test.clj  |     4 +-
 .../test/clj/backtype/storm/nimbus_test.clj     |   405 +-
 .../scheduler/multitenant_scheduler_test.clj    |    34 +-
 .../scheduler/resource_aware_scheduler_test.clj |   669 +
 .../test/clj/backtype/storm/scheduler_test.clj  |     3 +-
 .../auth/DefaultHttpCredentialsPlugin_test.clj  |    55 +-
 .../backtype/storm/security/auth/auth_test.clj  |     4 +-
 .../authorizer/DRPCSimpleACLAuthorizer_test.clj |    15 +
 .../storm/security/auth/drpc-auth-alice.jaas    |    17 +
 .../storm/security/auth/drpc-auth-bob.jaas      |    17 +
 .../storm/security/auth/drpc-auth-charlie.jaas  |    17 +
 .../storm/security/auth/drpc-auth-server.jaas   |    17 +
 .../storm/security/auth/drpc_auth_test.clj      |     6 +-
 .../storm/security/auth/nimbus_auth_test.clj    |    14 +-
 .../clj/backtype/storm/serialization_test.clj   |    14 +-
 .../test/clj/backtype/storm/supervisor_test.clj |   394 +-
 .../test/clj/backtype/storm/testing4j_test.clj  |     1 +
 .../clj/backtype/storm/transactional_test.clj   |     5 +-
 .../test/clj/backtype/storm/utils_test.clj      |    12 -
 .../test/clj/backtype/storm/worker_test.clj     |   179 +-
 .../jvm/backtype/storm/TestConfigValidate.java  |   642 +
 .../metric/internal/CountStatAndMetricTest.java |    86 +
 .../internal/LatencyStatAndMetricTest.java      |    83 +
 .../storm/metric/internal/RateTrackerTest.java  |    94 +
 .../storm/topology/TopologyBuilderTest.java     |    48 +
 .../utils/DisruptorQueueBackpressureTest.java   |   110 +
 .../storm/utils/DisruptorQueueTest.java         |    73 +-
 .../backtype/storm/utils/MockTupleHelpers.java  |    40 +
 storm-core/test/resources/log4j2-test.xml       |    32 +
 storm-core/test/resources/logback-test.xml      |    26 -
 storm-core/test/resources/test_runner.clj       |   114 +
 storm-dist/binary/LICENSE                       |   224 +-
 storm-dist/binary/NOTICE                        |     4 +-
 storm-dist/binary/src/main/assembly/binary.xml  |   105 +-
 799 files changed, 81971 insertions(+), 17008 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/storm/blob/d0575b94/storm-core/src/clj/backtype/storm/ui/core.clj
----------------------------------------------------------------------
diff --cc storm-core/src/clj/backtype/storm/ui/core.clj
index d383cce,1f36c28..6d74f2a
--- a/storm-core/src/clj/backtype/storm/ui/core.clj
+++ b/storm-core/src/clj/backtype/storm/ui/core.clj
@@@ -920,54 -899,87 +899,89 @@@
    [sys?]
    (if (or (nil? sys?) (= "false" sys?)) false true))
  
- (defn wrap-json-in-callback [callback response]
-   (str callback "(" response ");"))
- 
- (defnk json-response
-   [data callback :serialize-fn to-json :status 200]
-      {:status status
-       :headers (merge {"Cache-Control" "no-cache, no-store"
-                        "Access-Control-Allow-Origin" "*"
-                        "Access-Control-Allow-Headers" "Content-Type, Access-Control-Allow-Headers, Access-Controler-Allow-Origin, X-Requested-By, X-Csrf-Token, Authorization, X-Requested-With"}
-                       (if (not-nil? callback) {"Content-Type" "application/javascript;charset=utf-8"}
-                           {"Content-Type" "application/json;charset=utf-8"}))
-       :body (if (not-nil? callback)
-               (wrap-json-in-callback callback (serialize-fn data))
-               (serialize-fn data))})
- 
  (def http-creds-handler (AuthUtils/GetUiHttpCredentialsPlugin *STORM-CONF*))
  
+ (defn populate-context!
+   "Populate the Storm RequestContext from an servlet-request. This should be called in each handler"
+   [servlet-request]
+     (when http-creds-handler
+       (.populateContext http-creds-handler (ReqContext/context) servlet-request)))
+ 
+ (defn get-user-name
+   [servlet-request]
+   (.getUserName http-creds-handler servlet-request))
+ 
  (defroutes main-routes
    (GET "/api/v1/cluster/configuration" [& m]
-        (json-response (cluster-configuration)
-                       (:callback m) :serialize-fn identity))
+     (mark! ui:num-cluster-configuration-http-requests)
+     (json-response (cluster-configuration)
+                    (:callback m) :serialize-fn identity))
    (GET "/api/v1/cluster/summary" [:as {:keys [cookies servlet-request]} & m]
-        (let [user (.getUserName http-creds-handler servlet-request)]
-          (assert-authorized-user servlet-request "getClusterInfo")
-          (json-response (assoc (cluster-summary user)
+     (mark! ui:num-cluster-summary-http-requests)
+     (populate-context! servlet-request)
+     (assert-authorized-user "getClusterInfo")
+     (let [user (get-user-name servlet-request)]
 -      (json-response (cluster-summary user) (:callback m))))
++      (json-response (assoc (cluster-summary user)
 +                          "jira-url" (*STORM-CONF* UI-PROJECT-JIRA-URL)
 +                          "central-log-url" (*STORM-CONF* UI-CENTRAL-LOGGING-URL)) (:callback m))))
+   (GET "/api/v1/nimbus/summary" [:as {:keys [cookies servlet-request]} & m]
+     (mark! ui:num-nimbus-summary-http-requests)
+     (populate-context! servlet-request)
+     (assert-authorized-user "getClusterInfo")
+     (json-response (nimbus-summary) (:callback m)))
+   (GET "/api/v1/history/summary" [:as {:keys [cookies servlet-request]} & m]
+     (let [user (.getUserName http-creds-handler servlet-request)]
+       (json-response (topology-history-info user) (:callback m))))
    (GET "/api/v1/supervisor/summary" [:as {:keys [cookies servlet-request]} & m]
-        (assert-authorized-user servlet-request "getClusterInfo")
-        (json-response (supervisor-summary) (:callback m)))
+     (mark! ui:num-supervisor-summary-http-requests)
+     (populate-context! servlet-request)
+     (assert-authorized-user "getClusterInfo")
+     (json-response (assoc (supervisor-summary)
+                      "logviewerPort" (*STORM-CONF* LOGVIEWER-PORT)) (:callback m)))
    (GET "/api/v1/topology/summary" [:as {:keys [cookies servlet-request]} & m]
-        (assert-authorized-user servlet-request "getClusterInfo")
-        (json-response (all-topologies-summary) (:callback m)))
-   (GET  "/api/v1/topology/:id" [:as {:keys [cookies servlet-request]} id & m]
-         (let [user (.getUserName http-creds-handler servlet-request)]
-           (assert-authorized-user servlet-request "getTopology" (topology-config id))
-           (json-response (topology-page id (:window m) (check-include-sys? (:sys m)) user) (:callback m))))
+     (mark! ui:num-all-topologies-summary-http-requests)
+     (populate-context! servlet-request)
+     (assert-authorized-user "getClusterInfo")
+     (json-response (all-topologies-summary) (:callback m)))
+   (GET  "/api/v1/topology-workers/:id" [:as {:keys [cookies servlet-request]} id & m]
+     (let [id (url-decode id)]
+       (json-response {"hostPortList" (worker-host-port id)
+                       "logviewerPort" (*STORM-CONF* LOGVIEWER-PORT)} (:callback m))))
+   (GET "/api/v1/topology/:id" [:as {:keys [cookies servlet-request scheme]} id & m]
+     (mark! ui:num-topology-page-http-requests)
+     (populate-context! servlet-request)
+     (assert-authorized-user "getTopology" (topology-config id))
+     (let [user (get-user-name servlet-request)]
+       (json-response (topology-page id (:window m) (check-include-sys? (:sys m)) user (= scheme :https)) (:callback m))))
+   (GET "/api/v1/topology/:id/visualization-init" [:as {:keys [cookies servlet-request]} id & m]
+     (mark! ui:num-build-visualization-http-requests)
+     (populate-context! servlet-request)
+     (assert-authorized-user "getTopology" (topology-config id))
+     (json-response (build-visualization id (:window m) (check-include-sys? (:sys m))) (:callback m)))
    (GET "/api/v1/topology/:id/visualization" [:as {:keys [cookies servlet-request]} id & m]
-         (assert-authorized-user servlet-request "getTopology" (topology-config id))
-         (json-response (mk-visualization-data id (:window m) (check-include-sys? (:sys m))) (:callback m)))
-   (GET "/api/v1/topology/:id/component/:component" [:as {:keys [cookies servlet-request]} id component & m]
-        (let [user (.getUserName http-creds-handler servlet-request)]
-          (assert-authorized-user servlet-request "getTopology" (topology-config id))
-          (json-response (component-page id component (:window m) (check-include-sys? (:sys m)) user) (:callback m))))
+     (mark! ui:num-mk-visualization-data-http-requests)
+     (populate-context! servlet-request)
+     (assert-authorized-user "getTopology" (topology-config id))
+     (json-response (mk-visualization-data id (:window m) (check-include-sys? (:sys m))) (:callback m)))
+   (GET "/api/v1/topology/:id/component/:component" [:as {:keys [cookies servlet-request scheme]} id component & m]
+     (mark! ui:num-component-page-http-requests)
+     (populate-context! servlet-request)
+     (assert-authorized-user "getTopology" (topology-config id))
+     (let [user (get-user-name servlet-request)]
+       (json-response
+           (component-page id component (:window m) (check-include-sys? (:sys m)) user (= scheme :https))
+           (:callback m))))
+   (GET "/api/v1/topology/:id/logconfig" [:as {:keys [cookies servlet-request]} id & m]
+     (mark! ui:num-log-config-http-requests)
+     (populate-context! servlet-request)
+     (assert-authorized-user "getTopology" (topology-config id))
+        (json-response (log-config id) (:callback m)))
    (POST "/api/v1/topology/:id/activate" [:as {:keys [cookies servlet-request]} id & m]
-     (assert-authorized-user servlet-request "activate" (topology-config id))
-     (with-nimbus nimbus
-       (let [tplg (->> (doto
+     (mark! ui:num-activate-topology-http-requests)
+     (populate-context! servlet-request)
+     (assert-authorized-user "activate" (topology-config id))
+     (thrift/with-configured-nimbus-connection nimbus
+        (let [tplg (->> (doto
                          (GetInfoOptions.)
                          (.set_num_err_choice NumErrorsChoice/NONE))
                        (.getTopologyInfoWithOpts ^Nimbus$Client nimbus id))

http://git-wip-us.apache.org/repos/asf/storm/blob/d0575b94/storm-core/src/jvm/backtype/storm/Config.java
----------------------------------------------------------------------
diff --cc storm-core/src/jvm/backtype/storm/Config.java
index e4cba69,4cde8ad..69ff4b7
--- a/storm-core/src/jvm/backtype/storm/Config.java
+++ b/storm-core/src/jvm/backtype/storm/Config.java
@@@ -500,26 -565,16 +565,28 @@@ public class Config extends HashMap<Str
      /**
       * Storm UI binds to this port.
       */
+     @isInteger
+     @isPositiveNumber
      public static final String UI_PORT = "ui.port";
-     public static final Object UI_PORT_SCHEMA = ConfigValidation.IntegerValidator;
  
      /**
 +     * Storm UI Project JIRA Link for reporting issue.
 +     */
 +    public static final String UI_PROJECT_JIRA_URL = "ui.project.jira.url";
 +    public static final Object UI_PROJECT_JIRA_URL_SCHEMA = String.class;
 +
 +    /**
 +     * Storm UI Central Logging URL.
 +     */
 +    public static final String UI_CENTRAL_LOGGING_URL = "ui.central.logging.url";
 +    public static final Object UI_CENTRAL_LOGGING_URL_SCHEMA = String.class;
 +
 +    /**
       * HTTP UI port for log viewer
       */
+     @isInteger
+     @isPositiveNumber
      public static final String LOGVIEWER_PORT = "logviewer.port";
-     public static final Object LOGVIEWER_PORT_SCHEMA = ConfigValidation.IntegerValidator;
  
      /**
       * Childopts for log viewer java process.

http://git-wip-us.apache.org/repos/asf/storm/blob/d0575b94/storm-core/src/ui/public/css/style.css
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/storm/blob/d0575b94/storm-core/src/ui/public/index.html
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/storm/blob/d0575b94/storm-core/src/ui/public/templates/user-template.html
----------------------------------------------------------------------
diff --cc storm-core/src/ui/public/templates/user-template.html
index 895f0e5,e08896d..7e3cc00
--- a/storm-core/src/ui/public/templates/user-template.html
+++ b/storm-core/src/ui/public/templates/user-template.html
@@@ -15,18 -15,11 +15,21 @@@
   limitations under the License.
  -->
  <script id="user-template" type="text/html">
 -    <div class="ui-user">
 -        <span data-toggle="tooltip" data-placement="bottom" data-original-title="Search through all logs for any topology.">
 -                <a href="/deep_search_result.html" target="_blank"><image src="/images/search.png" class="image_pre_format"/></a>
 + <div class="ui-user">
 +     {{#central-log-url}}
 +        <span data-toggle="tooltip" data-placement="bottom" data-original-title="Link to Central Logging">
 +                <a href="{{central-log-url}}" target="_blank"><image src="/images/statistic.png" class="image_pre_format"/></a>
          </span>
 -        {{#user}}
 +      {{/central-log-url}}
 +     {{#jira-url}}
 +        <span data-toggle="tooltip" data-placement="bottom" data-original-title="Submit Jira for Help.">
 +                <a href="{{jira-url}}" target="_blank"><image src="/images/jira.png" class="image_pre_format"/></a>
 +        </span>
 +     {{/jira-url}}
++     <span data-toggle="tooltip" data-placement="bottom" data-original-title="Search through all logs for any topology.">
++             <a href="/deep_search_result.html" target="_blank"><image src="/images/search.png" class="image_pre_format"/></a>
++     </span>
 +     {{#user}}
          <span data-toggle="tooltip" data-placement="bottom" data-original-title="This should be you.">
                  User: {{user}}
          </span>