Hermes v1.3.0 Release Notes

  • ๐Ÿ”‹ Features

    (1110) Flat binary storage for consumers workload

    ๐Ÿ‘ Introducing more concise registry type for consumers workload distribution that should help scale better. Each consumer uses a single znode that contains binary encoded list of subscriptions that the consumer should process. โšก๏ธ The configuration loads fast and is updated only on workload distribution change. 0๏ธโƒฃ Enabled with consumer.workload.registry.type=flat-binary setting. The default is hierarchical type.

    A single consumer registry and leader election

    ๐Ÿ‘ท Consumer registry is extracted from consumer workload and is now used by max-rate job as well. The registry contains a leader latch which is always enabled and available.

    ๐Ÿ—„ (1095) Removal of deprecated StrictMaxRateProvider

    ๐Ÿšš The legacy max-rate provider type is now removed.

    Removal of inflight message counter

    ๐Ÿšš The inflight message counter as well as the distributed zookeeper counter are now removed. This feature was not used but was leaving a lot of junk in zookeeper.

    (1106) Consumer constraints management in hermes-console

    This feature allows easy management of consumer constraints. Link to it is not visible in the home screen as it is an admin feature (all endpoints are admin-secured though), accessed from http://<hermes-console>/#/constraints URL.

    (1113) Frontends wait for kafka when booting up

    ๐Ÿ“‡ Frontends will not start the HTTP server unless the underlying kafka brokers are available, i.e. we can fetch topics metadata from them. 0๏ธโƒฃ By default the feature is disabled, enable with frontend.startup.wait.kafka.enabled=true.

    (1109) Cancel all waiting messages on stopping sender

    When a subscription is stopped all messages that were already accepted by consumer message sender will be now dropped.