Apache Storm 1.2.3 Released

The Apache Storm community is pleased to announce that version 1.2.3 has been released and is available from the downloads page.

This is a maintenance release that includes a number of important bug fixes that improve Apache Storm's performance, stability and fault tolerance. We encourage users of previous versions to upgrade to this latest release.


Special thanks are due to all those who have contributed to Apache Storm -- whether through direct code contributions, documentation, bug reports, or helping other users on the mailing lists. Your efforts are much appreciated.

Changes in this Release

New Feature

  • [STORM-3233] - Upgrade zookeeper client to newest version (3.4.13)


  • [STORM-3077] - Upgrade Disruptor version to 3.3.11
  • [STORM-3083] - Upgrade HikariCP version to 2.4.7
  • [STORM-3094] - Topology name needs to be validated at storm-client
  • [STORM-3222] - Fix KafkaSpout internals to use LinkedList instead of ArrayList
  • [STORM-3292] - Trident HiveState must flush writers when the batch commits


  • [STORM-3013] - Deactivated topology restarts if data flows into Kafka
  • [STORM-3028] - HdfsSpout does not handle empty files in case of ack enabled
  • [STORM-3046] - Getting a NPE leading worker to die when starting a topology.
  • [STORM-3047] - Ensure Trident emitter refreshPartitions is only called with partitions assigned to the emitter
  • [STORM-3055] - never refresh connection
  • [STORM-3068] - STORM_JAR_JVM_OPTS are not passed to storm-kafka-monitor properly
  • [STORM-3082] - NamedTopicFilter can't handle topics that don't exist yet
  • [STORM-3087] - FluxBuilder.canInvokeWithArgs is too permissive when the method parameter type is a primitive
  • [STORM-3090] - The same offset value is used by the same partition number of different topics.
  • [STORM-3097] - Remove storm-druid in 2.x and deprecate support for it in 1.x
  • [STORM-3102] - Storm Kafka Client performance issues with Kafka Client v1.0.0
  • [STORM-3109] - Wrong canonical path set to STORM_LOCAL_DIR in storm kill_workers
  • [STORM-3110] - Supervisor does not kill all worker processes in secure mode in case of user mismatch
  • [STORM-3121] - Fix flaky metrics tests in storm-core
  • [STORM-3122] - FNFE due to race condition between "async localizer" and "update blob" timer thread
  • [STORM-3123] - Storm Kafka Monitor does not work with Kafka over two-way SSL
  • [STORM-3161] - Local mode should force setting min replication count to 1
  • [STORM-3164] - Multilang storm.py uses traceback.format_exc incorrectly
  • [STORM-3184] - Storm supervisor log showing keystore and truststore password in plaintext
  • [STORM-3201] - kafka spout lag on UI needs some cleanup
  • [STORM-3301] - The KafkaSpout can in some cases still replay tuples that were already committed
  • [STORM-3381] - Upgrading to Zookeeper 3.4.14 added an LGPL dependency
  • [STORM-3384] - storm set-log-level command throws wrong exception when the topology is not running


  • [STORM-3086] - Update Flux documentation to demonstrate static factory methods (STORM-2796)
  • [STORM-3089] - Document worker hooks on the hooks page
  • [STORM-3199] - Metrics-ganglia depends on an LGPL library, so we shouldn't depend on it
  • [STORM-3289] - Add note about KAFKA-7044 to storm-kafka-client compatibility docs


  • [STORM-3330] - Migrate parts of storm-webapp, and reduce use of mocks for files