Issues addressed in 3.2.0.
Pacemaker is now formally marked for removal. The Pacemaker classes in storm-client and storm-server (for example Pacemaker, PacemakerServer, PacemakerClient) and the constants Config.PACEMAKER_SERVERS, Config.PACEMAKER_PORT, Config.PACEMAKER_CLIENT_MAX_THREADS, Config.PACEMAKER_AUTH_METHOD, Config.PACEMAKER_THRIFT_MESSAGE_SIZE_MAX, DaemonConfig.PACEMAKER_MAX_THREADS and DaemonConfig.PACEMAKER_CHILDOPTS are now @Deprecated(since = "3.1.0", forRemoval = true). Behavior is unchanged. Code that references them gets compiler removal warnings. Plan to stop using Pacemaker before a future release removes it.
nimbus.supervisor.timeout.secs removed. The constant DaemonConfig.NIMBUS_SUPERVISOR_TIMEOUT_SECS ("nimbus.supervisor.timeout.secs"), deprecated since 3.1.0, and its entry in conf/defaults.yaml are gone. Nothing read this value: Nimbus detects a dead supervisor through its ephemeral ZooKeeper node. Remove the setting from storm.yaml, and change any code that references the constant.
storm.metrics.reporters: Deprecated in 2.3.0 and has now been removed. Topologies must configure worker metrics reporters using topology.metrics.reporters. Nimbus logs a warning if storm.metrics.reporters is still passed.blobstore.hdfs.principal and blobstore.hdfs.keytab: Deprecated in 2.2.0 and have now been removed.blobstore.hdfs.principal or blobstore.hdfs.keytab for HDFS Kerberos authentication must migrate their configuration to storm.hdfs.login.principal and storm.hdfs.login.keytab. Setting only the legacy blobstore.hdfs.* keys will log a warning and will no longer perform the Kerberos login.Config.TOPOLOGY_BACKPRESSURE_ENABLE removed. The public constant Config.TOPOLOGY_BACKPRESSURE_ENABLE ("topology.backpressure.enable"), marked for removal since 2.0.0, is gone. The key is now ignored, and Nimbus logs a warning when a submitted topology sets it. Worker backpressure is handled automatically, in-process.
Cluster state methods removed. IStormClusterState and StormClusterStateImpl no longer have backpressureTopologies, topologyBackpressure, setupBackpressure, removeBackpressure and removeWorkerBackpressure. Code that calls them must be changed.
<storm.zookeeper.root>/backpressure znodes. Nimbus no longer creates these znodes, and no longer removes them when it cleans up a topology, so leftovers from older versions stay in ZooKeeper. One exception: when storm.nimbus.zookeeper.acls.check or storm.nimbus.zookeeper.acls.fixup is true and ZooKeeper authentication is configured, Nimbus still deletes the entries of topologies that no longer exist under that path at startup. Otherwise operators can delete the subtree in zkCli with deleteall <storm.zookeeper.root>/backpressure (default /storm/backpressure).
BlowfishTupleSerializer removed. The class org.apache.storm.security.serialization.BlowfishTupleSerializer, deprecated since 2.8.6, is gone, along with its constant SECRET_KEY (topology.tuple.serializer.blowfish.key). Blowfish has a 64-bit block size that is vulnerable to birthday attacks (Sweet32). Topologies and code that register or reference it must stop doing so. To encrypt tuples between workers, use TLS transport encryption (storm.messaging.netty.tls.enable, see docs/SECURITY.md). Nimbus still masks topology.tuple.serializer.blowfish.key if an old stored config contains it.