Skip to content

Releases: allegro/hermes

1.2.0 (24.07.2019)

20 Jul 07:33
Compare
Choose a tag to compare

Enhancements

(1060) Added support for JDK 11

(1071) Counter values summed from all zookeeper clusters

Counters published, delivered, discarded and volume are kept in zookeeper. Thanks to this their values aren't reset after Hermes restart.
However, recently multi-zookeeper feature was introduced in Hermes allowing to have independent Hermes Zookeeper clusters per DC.
Because of this when a client sends a request about some topic or subscription metrics to hermes-management then it receives
metrics summed from all zookeeper clusters.

(1069) Added storage health check metrics

Since we have #1052, the next step was to introduce metrics
for storage (zookeeper clusters) health checks. They are added to MeterRegistry as storage-health-check.successful
and storage-health-check.failed counters.

1.1.2 (08.07.2019)

20 Jul 07:33
Compare
Choose a tag to compare

Enhancements

(1061) Introduced HdrHistogram-based metrics reservoir

Introduced HdrHistogram–based implementation of reservoir in metrics. HdrHistogram-based
reservoir has much less memory footprint than exponentially decaying (previous implementation). Because of this GC in
Hermes has less job to do which leads to better Hermes performance. In the near future it will be default Hermes metrics reservoir.

To switch between implementations, use metrics.reservoir.type option:

  • exponentially_decaying - exponentially decaying reservoir (default)
  • hdr - HdrHistogram–based reservoir

1.1.1 (05.07.2019)

20 Jul 07:33
Compare
Choose a tag to compare

Enhancements

(1052) Auto switching to read only mode in hermes-management

Hermes-management verifies whether all zookeeper clusters are available.

It writes periodically a timestamp to each one of them.

When the timestamp write fails on one of the zk clusters then management switches into ReadOnly mode.

This feature is disabled by default. Enable with:

management:
  health:
    periodSeconds: 30
    enabled: true

1.1.0 (02.07.2019)

20 Jul 07:33
Compare
Choose a tag to compare

Enhancements

(1033) Zookeeper multi datacenter

With the multi Zookeeper clusters, it's possible to increase Hermes isolation between data-centres.

In the end this change increase high-availability of Hermes.

Changes are only in hermes-management module which from now on can operate on multiple Zookeeper clusters.

To match Kafka clusters with Zookeeper clusters we have an additional field in a hermes-config called datacenter.

This field allows you to tell Hermes which Zookeeper cluster belongs to which Kafka cluster.

When there is only one Zookeeper cluster then it will be used for every Kafka cluster.

If you're migrating from previous version you need to add storage.clusters field in hermes-config and move storage.connectionString inside it (datacenter field is irrelevant when you have only 1 Zookeeper cluster).

Example:

kafka:
  clusters:
    -
      datacenter: dc1
      clusterName: kafka_primary
      connectionString: kafka-zookeeper:2181/clusters/dc1
    -
      datacenter: dc2
      clusterName: kafka_secondary
      connectionString: kafka-zookeeper:2181/clusters/dc2

storage:
  pathPrefix: /run/hermes
  clusters:
    - 
      datacenter: dc
      clusterName: zk
      connectionString: zookeeper:2181

1.0.7 (01.07.2019)

20 Jul 07:33
Compare
Choose a tag to compare

Bugfixes

(1053) Maximum possible offset to be committed for partition

1.0.6 (28.06.2019)

20 Jul 07:33
Compare
Choose a tag to compare

Enhancements

(1048) Exposed volume metric in metrics query endpoint

(1045) Enabled caching for dependencies on Travis

Bugfixes

(1050) Catch exceptions thrown while stopping kafka consumers

1.0.5 (25.06.2019)

20 Jul 07:33
Compare
Choose a tag to compare

Enhancements

(1042) Consumer group diagnostics tab in console

(1041) Added volume counter

Bugfixes

(1040) Clearing stale offsets, partition assignment term introduced

1.0.4 (17.06.2019)

20 Jul 07:33
Compare
Choose a tag to compare

Enhancements

(1035) Handling unparsable values in queries

Bugfixes

(1038) Fix to filtering duplicated signals

1.0.3 (10.06.2019)

20 Jul 07:33
Compare
Choose a tag to compare

Enhancements

(1032) Fixing MPSC queue's drain method to return all items

1.0.2 (06.06.2019)

20 Jul 07:33
Compare
Choose a tag to compare

Enhancements

(1031) Added logging related to offsets committing

(1025) ReadOnly mode for Management

This feature allows to manually switch Hermes Management to ReadOnly mode.
During maintenance mode this protects Hermes from any unexpected changes.
Switch is done at runtime via /mode admin endpoint.

Bugfixes

(1031) Fixed monitored MPSC queue utilization meter