We thank all who have contributed to Storm – whether through direct code contributions, documentation, bug reports, or helping other users on the mailing lists. Together, we resolved 112 JIRA issues.
Here are summaries of this version’s important fixes and improvements.
Storm’s Netty-based transport has been overhauled to significantly improve performance through better utilization of thread, CPU, and network resources, particularly in cases where message sizes are small.
This release also includes a number of improvements to the Storm UI service. A new REST API exposes metrics and operations in JSON format, which the UI now uses.
The new REST API will make it considerably easier for other services to consume available cluster and topology metrics for monitoring and visualization applications. The Storm UI service now includes a powerful tool for visualizing the state of running topologies that is built on top of this API.
This is the first Storm release to include official support for consuming data from Kafka 0.8.x. In the past, development of Kafka spouts for Storm had become somewhat fragmented and finding an implementation that worked with certain versions of Storm and Kafka proved burdensome.
This is no longer the case. The storm-kafka module is now part of the Storm project and associated artifacts are released to official channels (Maven Central) along with Storm’s other components.
Similar to the external section of the codebase, we have also added an examples directory and pulled in the storm-starter project to ensure it will be maintained in lock-step with Storm’s main codebase.
In previous versions of Storm, serialization of data to and from multilang components was limited to JSON, which came with somewhat of a performance penalty. The serialization mechanism is now plugable and enables the use of more performant serialization frameworks like protocol buffers in addition to JSON.