What’s New in HiveMQ 4.12?
Written by HiveMQ Team
Category: HiveMQ Release
Published: February 7, 2023
The HiveMQ team is proud to announce the release of HiveMQ Enterprise MQTT Platform 4.12. This release focuses on increased observability for your HiveMQ deployment, added cluster overload protection, and numerous performance enhancements.
- Consolidated Diagnostic Archive Support
- Heightened Cluster Overload Protection
Enhanced Diagnostic Support
HiveMQ 4.12 increases the amount of information that is collected from each broker instance in your cluster and decreases the amount of time administrators require to access the data.
How it works
Previously, HiveMQ administrators had to manually log in to each node of their HiveMQ cluster to retrieve individually generated diagnostic archives for further analysis. Now, administrators can download all diagnostic archives from all broker instances simultaneously with a single click. The streamlined diagnostic archive functionality in your HiveMQ Control Center makes it possible to generate and download a unified ZIP archive that contains all relevant data from all nodes in your HiveMQ cluster in one compact file.
Similar to the existing backup feature of your HiveMQ Control Center, the new diagnostic archive view provides a familiar way to generate, view, and download data. To learn more about the HiveMQ Control Center and HiveMQ diagnostic archives, take a look at the HiveMQ user guide.
To simplify integration with monitoring and administrative tools, HiveMQ 4.12 also provides a new HiveMQ REST API endpoint that gives you the ability to trigger the creation of a diagnostic archive programmatically. For more details, see our REST API documentation.
How it helps
Quick access to comprehensive data for your entire HiveMQ cluster can be crucial to correctly identifying and resolving technical issues. Especially in cases where the performance of your broker is impacted, easy-to-use actions and straightforward functionality make it easier and less stressful for your HiveMQ administrators and support engineers to efficiently resolve issues. Our expanded diagnostic archive collects even more information and makes it easier to access relevant data from your entire cluster rapidly and without errors.
Increased Cluster Overload Protection
Added overload protection for the number of MQTT UNSUBSCRIBE packets a HiveMQ cluster allows per client per minute.
How it works
HiveMQ’s built-in cluster overload protection gives each HiveMQ instance in your cluster the ability to temporarily limit the rate of incoming MQTT messages from specific clients if the load on the cluster becomes too high. HiveMQ 4.12 adds overload protection for UNSUBSCRIBE packets to our existing protection for SUBSCRIBE and PUBLISH packets.
How it helps
Precise application of back pressure on individual MQTT clients that are generating spikes in traffic during periods of exceptionally high load improves the resiliency of your cluster. UNSUBSCRIBE overload protection augments your overall cluster protection with an additional safeguard against threats such as denial of service attacks (DoS) that can exhaust the resources of your broker and disrupt service to legitimate users. SUBSCRIBE and UNSUBSCRIBE overload protection are particularly important if you run your MQTT broker in an untrusted environment. To learn more about HiveMQ cluster overload protection, visit our documentation.
Other noteworthy features and improvements:
HiveMQ Enterprise MQTT Broker
- Improved performance for use cases that have a large number of subscribers for the same shared subscription group.
- Improved sustained message rates for clusters with a large number of nodes and CPU cores.
- Increased message throughput rates and payload cleanup performance in deployments with a large number of CPU cores.
- Improved handling in the cleanup service to fix an issue that could cause a periodic cleanup task to get stuck.
- Optimized caching to eliminate unnecessary Java heap memory consumption.
- Fixed an issue that could result in outdated data not being fully removed when a node joins a cluster.
- Fixed an issue that prevented the correct display of persistence executor metrics for retained message tasks and subscription tasks.
- Improved HiveMQ event log feedback for failed authentication to include custom reason strings from extensions.
HiveMQ Enterprise Extension for Kafka
- Added tracing support in the HiveMQ Enterprise Extension for Kafka for
MqttToKafkaTransformercustomizations that create multiple Kafka records from a single MQTT message.
- Fixed an issue where the HiveMQ Enterprise Extension for Kafka ignored the keystore private key password value in the TLS configuration to a Confluent Schema Registry. The extension now correctly uses the configured keystore private key password when establishing a connection to a Confluent Schema Registry with TLS (NOTE: Existing Kafka extension users who use TLS to connect to a Confluent Schema Registry need to verify that their keystore private key password is correctly configured).
HiveMQ Enterprise Extension for Google Pub/Sub
- Added ability in the HiveMQ Enterprise Extension for Google Pub/Sub to convert MQTT topics to Google Pub/Sub attributes.
HiveMQ Enterprise Extension for Amazon Kinesis
- Improved batch aggregation and tracing for outgoing Kinesis requests in the HiveMQ Enterprise Extension for Amazon Kinesis.
- Added WARN log statement for the HiveMQ Enterprise Extension for Amazon Kinesis when a duplicate MQTT topic filter is detected in an MQTT to Kinesis route configuration.
HiveMQ Control Center
- Fixed an issue that could cause the incorrect display of menu items in the HiveMQ Control Center main navigation after a license change.
- Fixed an issue that caused a slight offset in the expiry of HiveMQ Swarm licenses.
- Improved user feedback when timer commands are incorrectly configured in a HiveMQ Swarm scenario.
- Improved log output when HiveMQ Swarm starts with an invalid configuration.
- Fixed an issue in the MQTT CLI that could cause credential information contained in configuration properties to be ignored in broker test commands.
- Adjusted file handling in the MQTT CLI to ensure platform independence.