Release Notes for Apache Storm 3.0.0
Issues addressed in 3.0.0.
bug
Workers & Heartbeats
- [#8905] - Fix worker launch: add lib-common to the supervisor's worker classpath and restore the lib-worker drop-in directory
- [#8896] - Fix NPE in WorkerState.transferLocalBatch causing worker crashes
- [#8800] - Filter worker heartbeats by per-topology timeout
- [#8788] - Fix Y2038 worker heartbeat overflow by migrating timestamps to i64
- [#7897] - [STORM-4116] Heartbeats mechanism is affected by Y2038 bug
Scheduler
- [#8798] - Fix double max.free.per.topology cap in EvenScheduler idle rebalance
- [#8705] - Remove shuffle post sorting assignable hosts in Isolation Scheduler
- [#8708] - Isolation Scheduler Can Have Free Slots Check as a Secondary Sorting Check
- [#8704] - Isolation Scheduler Does Shuffle After Sort so sorting does not makes sense
Web UI
- [#8889] - fix(webapp): guard Flux viewer against js-yaml 5.x empty-input throw
Windowing
- [#8790] - Fix late tuple stream serialization in windowed bolts
Kafka
- [#8589] - fix(topology_lag): Kafka Topology Lag breaking when no offsets are commited for topic/partition
enhancement
Clojure Removal
- [#8537] - Removed all uses of Clojure, version 3.0.0-SNAPSHOT
- [#8455] - Replace Thread.sleep and Testing.whileTimeout with Awaitility in tests
- [#8446] - Port Clojure tests to Java: cluster_test (Phase 3)
- [#8445] - Port Clojure tests to Java and remove Clojure dependency
- [#8444] - Port Clojure tests to Java: scheduler_test and multitenant_scheduler_…
- [#8443] - Port Clojure tests to Java: versioned_store_test and tuple_test
Messaging & Performance
- [#8892] - Decouple the control plane from the data plane on receive queues
- [#8796] - Add AIMD based dynamic producer batch sizing to `JCQueue`
- [#8707] - Add tuple compression for inter-worker communication
- [#8701] - Introduce component-level compression configuration for remote worker traffic
- [#8593] - Add jitter control loop and `JitterAwareStreamGrouping`
- [#8586] - Introduce jitter metric based on RFC 1889 Appendix A
Compression
- [#8653] - Zstd compression for thrift serialization (storm cluster state)
- [#8652] - Add zstd compression support as an alternative to GZIP in serialization
Scheduler
- [#8778] - EvenScheduler: opt-in round-robin rebalance onto returning idle supervisors
- [#8789] - Skip stale worker heartbeats from orphaned worker directories
- [#8714] - Optimize ZooKeeper read requests and remove redundant checks
- [#8709] - Isolation Scheduler Hosts Sorting | Add secondary sort (No of free slots) and tertiary sort (Hostname)
- [#8811] - scheduler: replace reflection with @VisibleForTesting in IsolationSchedulerTest
Distribution & Build
- [#8819] - Reduce binary distribution size: unbundle optional Hadoop/Kafka deps + de-duplicate shared jars
- [#8541] - build: introduce aggregator modules and unify pom display names
- [#8582] - storm-submit-tools: modernize Java code, no API surface changes
- [#8813] - Improve RELEASING.md accuracy and completeness
Java & Platform
- [#8893] - Bump Java baseline to 25 on master
- [#8594] - Bump Java to 21, update docs for Storm 3.x and javadoc.io migration
- [#8699] - Make storm more windows friendly
CI
- [#8887] - build: run ASF allowlist check on every PR so the required check reports
- [#8817] - ci: add ASF allowlist check for GitHub Actions (Dependabot guard)
Other
- [#8706] - Docker compose local (dev) distributed Storm cluster with full observability and network simulation
- [#8702] - Fix checkstyle violations (#8585 - Phase 3 - Part 1)
dependencies
- [#8901] - build(deps): bump actions/setup-java from 5.5.0 to 5.6.0
- [#8858] - build(deps): bump cytoscape-dagre from 3.0.0 to 4.0.0 in /storm-webapp
- [#8857] - build(deps-dev): bump start-server-and-test from 3.0.5 to 3.0.11 in /storm-webapp
- [#8856] - build(deps): bump cytoscape from 3.33.4 to 3.34.0 in /storm-webapp
- [#8855] - build(deps): bump js-yaml from 4.2.0 to 5.2.0 in /storm-webapp
- [#8854] - build(deps-dev): bump webpack from 5.107.2 to 5.108.3 in /storm-webapp
- [#8853] - build(deps-dev): bump cypress from 15.16.0 to 15.18.0 in /storm-webapp
- [#8852] - build(deps-dev): bump webpack-cli from 7.0.3 to 7.1.0 in /storm-webapp
- [#8851] - build(deps): bump com.puppycrawl.tools:checkstyle from 13.5.0 to 13.7.0 in /examples
- [#8850] - build(deps): bump com.github.luben:zstd-jni from 1.5.7-9 to 1.5.7-11 in /examples
- [#8849] - build(deps): bump org.apache:apache from 38 to 39 in /examples
- [#8848] - build(deps): bump org.apache.kafka:kafka-clients from 4.3.0 to 4.3.1 in /examples
- [#8847] - build(deps): bump org.junit:junit-bom from 6.1.0 to 6.1.1 in /examples
- [#8846] - build(deps): bump com.fasterxml.woodstox:woodstox-core from 7.2.0 to 7.2.1 in /examples
- [#8845] - build(deps): bump jetty.version from 12.1.9 to 12.1.10 in /examples
- [#8844] - build(deps): bump com.google.errorprone:error_prone_annotations from 2.49.0 to 2.50.0 in /examples
- [#8843] - build(deps): bump activemq.version from 6.2.6 to 6.2.7 in /examples
- [#8842] - build(deps): bump byte-buddy.version from 1.18.8 to 1.18.10 in /examples
- [#8841] - build(deps-dev): bump org.jacoco:jacoco-maven-plugin from 0.8.14 to 0.8.15
- [#8840] - build(deps): bump io.netty:netty-bom from 4.2.14.Final to 4.2.15.Final in /examples
- [#8839] - build(deps): bump io.netty:netty-bom from 4.2.14.Final to 4.2.15.Final
- [#8838] - build(deps): bump com.fasterxml.woodstox:woodstox-core from 7.2.0 to 7.2.1
- [#8837] - build(deps): bump spring.version from 7.0.7 to 7.0.8 in /examples
- [#8836] - build(deps): bump com.zaxxer:HikariCP from 7.0.2 to 7.1.0 in /examples
- [#8835] - build(deps): bump com.github.luben:zstd-jni from 1.5.7-9 to 1.5.7-11
- [#8834] - build(deps): bump commons-logging:commons-logging from 1.3.6 to 1.4.0 in /examples
- [#8833] - build(deps): bump storm.kafka.client.version from 4.3.0 to 4.3.1
- [#8832] - build(deps): bump com.zaxxer:HikariCP from 7.0.2 to 7.1.0
- [#8831] - build(deps): bump com.google.errorprone:error_prone_annotations from 2.49.0 to 2.50.0
- [#8830] - build(deps-dev): bump com.github.eirslett:frontend-maven-plugin from 2.0.0 to 2.0.1
- [#8829] - build(deps): bump byte-buddy.version from 1.18.8 to 1.18.10
- [#8828] - build(deps): bump org.apache.hbase:hbase-client from 2.6.5-hadoop3 to 2.6.6-hadoop3
- [#8827] - build(deps): bump activemq.version from 6.2.6 to 6.2.7
- [#8826] - build(deps): bump org.junit:junit-bom from 6.1.0 to 6.1.1
- [#8825] - build(deps): bump commons-logging:commons-logging from 1.3.6 to 1.4.0
- [#8824] - build(deps): bump spring.version from 7.0.7 to 7.0.8
- [#8823] - build(deps): bump org.apache:apache from 38 to 39
- [#8822] - build(deps): bump jetty.version from 12.1.9 to 12.1.10
- [#8821] - build(deps): bump netty-tcnative.version from 2.0.77.Final to 2.0.80.Final
- [#8820] - build(deps): bump prometheus.client.version from 1.6.1 to 1.8.0
- [#8751] - Bump webpack-cli from 7.0.2 to 7.0.3 in /storm-webapp
- [#8750] - Bump terser-webpack-plugin from 5.6.0 to 5.6.1 in /storm-webapp
- [#8749] - Bump cypress from 15.15.0 to 15.16.0 in /storm-webapp
- [#8748] - Bump js-yaml from 4.1.1 to 4.2.0 in /storm-webapp
- [#8747] - Bump js-cookie from 3.0.7 to 3.0.8 in /storm-webapp
- [#8746] - Bump cytoscape from 3.33.3 to 3.33.4 in /storm-webapp
- [#8745] - Bump webpack from 5.106.2 to 5.107.2 in /storm-webapp
- [#8743] - Bump com.fasterxml.jackson:jackson-bom from 2.21.3 to 2.22.0 in /examples
- [#8742] - Bump io.netty:netty-bom from 4.2.13.Final to 4.2.14.Final in /examples
- [#8741] - Bump com.puppycrawl.tools:checkstyle from 13.4.2 to 13.5.0 in /examples
- [#8740] - Bump org.apache.kafka:kafka-clients from 4.2.0 to 4.3.0 in /examples
- [#8739] - Bump com.github.luben:zstd-jni from 1.5.7-8 to 1.5.7-9 in /examples
- [#8738] - Bump org.apache.commons:commons-configuration2 from 2.15.0 to 2.15.1 in /examples
- [#8737] - Bump org.junit:junit-bom from 6.0.3 to 6.1.0 in /examples
- [#8736] - Bump org.ow2.asm:asm from 9.10 to 9.10.1 in /examples
- [#8735] - Bump surefire.version from 3.5.5 to 3.5.6 in /examples
- [#8734] - Bump org.apache.maven.plugins:maven-surefire-report-plugin from 3.5.5 to 3.5.6 in /examples
- [#8733] - Bump activemq.version from 6.2.5 to 6.2.6 in /examples
- [#8732] - Bump metrics.version from 4.2.38 to 4.2.39 in /examples
- [#8731] - Bump com.fasterxml.woodstox:woodstox-core from 7.1.1 to 7.2.0 in /examples
- [#8730] - Bump com.fasterxml.woodstox:woodstox-core from 7.1.1 to 7.2.0
- [#8729] - Bump org.ow2.asm:asm from 9.10 to 9.10.1
- [#8728] - Bump io.netty:netty-bom from 4.2.13.Final to 4.2.14.Final
- [#8727] - Bump com.fasterxml.jackson:jackson-bom from 2.21.3 to 2.22.0
- [#8726] - Bump storm.kafka.client.version from 4.2.0 to 4.3.0
- [#8725] - Bump org.apache.commons:commons-configuration2 from 2.15.0 to 2.15.1
- [#8724] - Bump org.apache.maven.plugins:maven-dependency-plugin from 3.10.0 to 3.11.0
- [#8723] - Bump com.fasterxml.jackson.core:jackson-databind from 2.21.3 to 2.22.0
- [#8722] - Bump surefire.version from 3.5.5 to 3.5.6
- [#8721] - Bump org.junit:junit-bom from 6.0.3 to 6.1.0
- [#8720] - Bump com.github.luben:zstd-jni from 1.5.7-8 to 1.5.7-9
- [#8719] - Bump redis.clients:jedis from 7.5.0 to 7.5.2
- [#8718] - Bump metrics.version from 4.2.38 to 4.2.39
- [#8717] - Bump dropwizard.version from 5.0.1 to 5.0.2
- [#8716] - Bump org.apache.maven.plugins:maven-surefire-report-plugin from 3.5.5 to 3.5.6
- [#8715] - Bump activemq.version from 6.2.5 to 6.2.6
- [#8713] - Bump qs and @cypress/request in /storm-webapp
- [#8676] - Bump org.ow2.asm:asm from 9.9.1 to 9.10
- [#8674] - Bump org.ow2.asm:asm from 9.9.1 to 9.10 in /examples
- [#8672] - Bump com.puppycrawl.tools:checkstyle from 8.2 to 13.4.2 in /examples
- [#8671] - Bump org.apache.commons:commons-configuration2 from 2.14.0 to 2.15.0
- [#8669] - Bump slf4j.version from 2.0.17 to 2.0.18 in /examples
- [#8668] - Bump org.apache.commons:commons-configuration2 from 2.14.0 to 2.15.0 in /examples
- [#8667] - Bump slf4j.version from 2.0.17 to 2.0.18
- [#8664] - Bump org.apache.maven:maven-resolver-provider from 3.9.15 to 3.9.16
- [#8661] - Bump js-cookie from 3.0.5 to 3.0.7 in /storm-webapp
- [#8659] - Bump cypress from 15.14.2 to 15.15.0 in /storm-webapp
- [#8658] - Bump start-server-and-test from 3.0.4 to 3.0.5 in /storm-webapp
- [#8657] - Bump cytoscape-dagre from 2.5.0 to 3.0.0 in /storm-webapp
- [#8656] - Bump vis-network from 10.0.3 to 10.1.0 in /storm-webapp
- [#8638] - Bump org.apache.thrift:libthrift from 0.22.0 to 0.23.0
- [#8634] - Bump org.apache.logging.log4j:log4j-bom from 2.25.4 to 2.26.0
- [#8633] - Bump io.netty:netty-bom from 4.2.12.Final to 4.2.13.Final in /examples
- [#8629] - Bump com.github.ben-manes.caffeine:caffeine from 3.2.3 to 3.2.4
- [#8625] - Bump org.apache:apache from 37 to 38
- [#8623] - Bump com.github.ben-manes.caffeine:caffeine from 3.2.3 to 3.2.4 in /examples
- [#8618] - Bump org.apache:apache from 37 to 38 in /examples
- [#8616] - Bump io.netty:netty-bom from 4.2.12.Final to 4.2.13.Final
- [#8615] - Bump com.puppycrawl.tools:checkstyle from 8.2 to 13.4.2 in /examples
- [#8612] - Bump terser-webpack-plugin from 5.5.0 to 5.6.0 in /storm-webapp
- [#8611] - Bump jetty.version from 12.1.8 to 12.1.9 in /examples
- [#8608] - Bump vis-data from 8.0.3 to 8.0.4 in /storm-webapp
- [#8605] - Bump start-server-and-test from 3.0.2 to 3.0.4 in /storm-webapp
- [#8603] - Bump jetty.version from 12.1.8 to 12.1.9
- [#8600] - Bump vis-network from 10.0.2 to 10.0.3 in /storm-webapp
- [#8598] - Bump org.apache.logging.log4j:log4j-bom from 2.25.4 to 2.26.0 in /examples
- [#8597] - Bump org.apache.thrift:libthrift from 0.22.0 to 0.23.0 in /examples
- [#8580] - Remove dead dependencyManagement entries and unused version properties
- [#8578] - Bump cytoscape from 3.33.2 to 3.33.3 in /storm-webapp
- [#8577] - Bump terser-webpack-plugin from 5.4.0 to 5.5.0 in /storm-webapp
- [#8576] - Bump cypress from 15.13.0 to 15.14.2 in /storm-webapp
- [#8575] - Bump datatables.net from 2.3.7 to 2.3.8 in /storm-webapp
- [#8574] - Bump datatables.net-bs5 from 2.3.7 to 2.3.8 in /storm-webapp
- [#8573] - Bump webpack from 5.105.4 to 5.106.2 in /storm-webapp
- [#8572] - Bump datatables.net-dt from 2.3.7 to 2.3.8 in /storm-webapp
- [#8571] - Bump start-server-and-test from 3.0.0 to 3.0.2 in /storm-webapp
- [#8569] - Bump mockito.version from 5.14.2 to 5.23.0 in /examples
- [#8567] - Bump io.github.git-commit-id:git-commit-id-maven-plugin from 9.0.1 to 10.0.0 in /examples
- [#8566] - Bump com.google.code.gson:gson from 2.13.2 to 2.14.0 in /examples
- [#8564] - Bump commons-io:commons-io from 2.21.0 to 2.22.0 in /examples
- [#8560] - Bump org.yaml:snakeyaml from 2.2 to 2.6 in /examples
- [#8559] - Bump com.fasterxml.jackson:jackson-bom from 2.21.2 to 2.21.3 in /examples
- [#8558] - Bump spring.version from 7.0.6 to 7.0.7 in /examples
- [#8557] - Bump activemq.version from 6.2.4 to 6.2.5 in /examples
- [#8556] - Bump commons-codec:commons-codec from 1.21.0 to 1.22.0 in /examples
- [#8555] - Bump io.github.git-commit-id:git-commit-id-maven-plugin from 9.0.1 to 10.0.0
- [#8554] - Bump netty-tcnative.version from 2.0.75.Final to 2.0.77.Final
- [#8553] - Bump redis.clients:jedis from 7.4.1 to 7.5.0
- [#8552] - Bump com.fasterxml.jackson.core:jackson-databind from 2.21.2 to 2.21.3
- [#8551] - Bump org.apache.maven:maven-resolver-provider from 3.9.14 to 3.9.15
- [#8550] - Bump spring.version from 7.0.6 to 7.0.7
- [#8549] - Bump commons-codec:commons-codec from 1.21.0 to 1.22.0
- [#8548] - Bump com.fasterxml.jackson:jackson-bom from 2.21.2 to 2.21.3
- [#8547] - Bump com.google.code.gson:gson from 2.13.2 to 2.14.0
- [#8546] - Bump joda-time:joda-time from 2.14.1 to 2.14.2
- [#8545] - Bump commons-io:commons-io from 2.21.0 to 2.22.0
- [#8544] - Bump prometheus.client.version from 1.5.1 to 1.6.1
- [#8543] - Bump activemq.version from 6.2.4 to 6.2.5
- [#8540] - build: replace storm-maven-plugins with git-commit-id-maven-plugin
- [#8538] - [Automated] Update license files after dependency changes
documentation
- [#8700] - Update checkstyle and Modernize config (#8585 - Phase 1, Phase 2)
- [#8587] - [STORM-3962] Update integration page for Kafka links
- [#8584] - Fix outdated code references in message passing documentation
- [#8539] - docs: drop stale Clojure references after Clojure removal
- [#7744] - [STORM-3962] Update integration page for Kafka links