All notable changes to this project will be documented in this file. This change log follows the conventions of keepachangelog.com.
- Upgrades kafka streams to version 2.1. Please refer this to upgrade
- Add support for providing a topic-name label in the metrics
- Multiple Kafka producers support in ziggurat (#55)
- Validate stream routes only when modes is not present or it contains stream-server (#59)
- Actor stop fn should stop before the Ziggurat state (#53)
- Running ziggurat in different modes (#46)
- Adds config to change the changelog topic replication factor
- dont close the channel on shutdown listener. it is already closed when connection is broken. this prevents topology recovery
- catch message production exception in rabbitmq publisher
- Adds nippy as dependency instead of carmine
- Adds macro for setting thread-local context params for logs
- Adds deployent stage on CI pipeline
- Initialize reporters before running actor start fn
- Initialize reporters before running actor start fn
- Adds deployent stage on CI pipeline
- Updates changelog for older releases
- Releases using java 8
- This release has been compiled using java 10. It will not work with
older versions of java.
- Adds oldest-processed-message-in-s config
- Adds capabiltiy to filter message based on timestamp
- Fixes bug in deadset API for channel enabled
- Changes namespace of
transformer
into timestamp-transformer
- Handle Deadset API when retry is disabled
- Fixing message being retried n + 1 times
- Fixing kafka delay calculation
- Upgrades kafka streams to 1.1.1
- Adds stream integration tests
- Adds API to flush messages from dead-letter-queue in RabbitMQ
- Starts sentry-reporter in on application initialization
- removes executor dependency as it was not being used
- updates readme and contribution guidelines
- refactors config files to remove gojek specific configs
- Removes sentry dependency and instead uses sentry-clj.async
- Merges lambda commons and adds default configs for missing application specified configs
- Users using
lambda-commons.metrics
should now start using ziggurat.metrics
to send custom metrics.
- Fixes bug where connection to rabbitmq fails when stream routes is not passed in mount/args
- Adds support for multipart params over actor routes, moves lein-kibit and eastwood to dev plugins
- Changed the order of starting up of ziggurat and actor. First config will be initialized, then actor function will start up and ziggurat start function will start up.
- Apps with (mount/start) in their
start-fn
will no longer work correctly. Users should start using mount/only
instead.
- Removes Yggdrasil, bulwark and ESB log entities dependency
- Removes the
make-config
function from ziggurat.config
namespace. Users should now use config-from-env
function instead.
- Overrides and exposes kafka streams config: buffered.records.per.partitions and commit.inteval.ms
- Fixes bug where rabbitmq connection is established even when retry is disabled and channels are absent in consumer/start-subscribers
- Add configuration to read data from earliest offset in kafka
- Fixes rabbitmq queue creation when retries are disabled and channels are present
- Fixes rabbitmq intialization when retry is disabled but channels are present
- Fixes dead set management api to validate the channel names
- Starts up rabbitmq connection when channels are present or retry is enabled
- Fixes bug around reporting execution time for handler fn
- Adds arbitrary channels for long running jobs
- Fix parallelism for retry workers
- Starts sending expiration per message instead of setting it on the queue
- Starts calculating timestamp from kafka metadata
- removes deprecated config variables in kafka-streams
- Upgraded lambda commons library to 0.3.1
- Upgraded lambda commons library
- Adds metrics to skipped and retried message
- Retry message when actor raises an expection
- Add support for multi stream routes
- Fixes replay of messages in dead letter queue.
- Bumps up lambda-common version to 0.2.2
- Fixes converting message from kafka to clojure hash
- Fixes converting message from kafka to clojure hash
- Instruments time of execution of mapper function
- Increments the esb-log-entites version to fetch from 3.18.7 and above
- Fixes the consumer to retry the mapper-fn
- Uses WallclockTimestampExtractor as timestamp extractor for the streams
- Always fetches the esb-log-entites version greater than or equal 3.17.11
- Bumps up the esb log entities version to 3.17.11
- Fetches config from yggdrasil and if not found fallbacks to env
Configs added
{
:ziggurat {:yggdrasil {:host "http://localhost"
:port [8080 :int]
:connection-timeout-in-ms [1000 :int}}
}
- Bumps up the esb log entities version
- Adds ability to pass actor specific routes
- Changes dependency from esb-log-client to esb-log-entities
- Adds metrics to count throughput
- Changes the job name getting pushed to NR
- Adds an
v1/dead_set
to view the dead set messages
- Bump version of
com.gojek/sentry
- Fixed a bug in application shutdown: the actor's start-fn was being called instead of the stop-fn.
- Made some functions private.
- Added some docstrings.
- Added Gotchas section to the README.
- Added ziggurat.sentry/report-error to be used by actors.
- Upgrade esb-log-client version to latest (1.103.0).
- Various internal refactorings: removed dead code, fixed some spelling mistakes, made some functions private.
- Flag to enable retries and conditionally start the rabbitmq states depending on this flag.
- Namespace framework configs under
:ziggurat
Can you improve this documentation? These fine people already did:
Kartik Gupta, Anirudh, Sandilya Jandhyala, Nivedita Priyadarshini, Saptanto Sindu, prashant, Rooba Limsa, hogaur, Soham Kamani, Akshay Gupta, maulik.soneji, Kishan Sharma, Gowtham Sai, rajnishdashora, prateek.khatri & dark-bytesEdit on GitHub