Releases: gojek/ziggurat
Release list
Add manual offset commit option for batch consumers
Problem
Batch consumers commit Kafka offsets via background auto-commit (enable.auto.commit=true), which commits on a timer independently of batch processing. If a consumer dies after an offset is auto-committed but before the batch is processed (and its failures enqueued for retry), those messages are lost. This has caused message loss in production.
Solution
Add an opt-in per-batch-route flag :manual-commit-enabled (default false). When enabled, auto-commit is turned off and offsets are committed with commitSync only after a batch is processed — guaranteeing at-least-once
delivery. Commit failures are logged + metered (ziggurat.batch.consumption.offset.commit) but don't halt the loop.
Default false keeps existing behaviour unchanged — fully backward compatible.
Fix shutdown race condition for consumers
Fix shutdown race condition to avoid double processing and unnecessary dead-set publishes
#288
Adds support for ACL auth for kafka streams.
Adds support for SASL_SSL using OAUTHBEARER and SASL_PLAINTEXT auth for kafka.
Integrate Native Prometheus client in Ziggurat
- Integrated prometheus client for metrics reporting
- Users can now choose from StatsD or Prometheus for reporting metrics
- Metrics will be exposed in
:{8002 | port}/metricsendpoint
Remove opentracing code from Ziggurat
What's Changed
- [Feature/EV-38] Remove opentracing code by @indrajithi in #275
New Contributors
- @indrajithi made their first contribution in #275
Full Changelog: v4.9.3...4.9.4
4.9.2
- Updates the Kafka streams and Kafka client to
2.8.2
4.9.1
4.9.0
- Improvises the publishing logic during consumption via subscribers.
- Upgrades the state management for rabbitmq subscribers.
4.4.0
- Allows channel mapper to push to dead letter queue
4.3.1
- Fixes the stop order of components to facilitate graceful shutdown of business operations