Skip to content

Releases: silviucpp/erlkaf

v2.0.4

06 Jul 10:06
Compare
Choose a tag to compare
  • Fix for processing messages that takes longer than max_poll_interval_ms.

v2.0.3

13 Jun 06:48
Compare
Choose a tag to compare
  • Upgrade to lager v3.9.2 (works on OTP 24)
  • Add support for poll_idle_ms topic setting.

v2.0.2

25 Mar 01:09
Compare
Choose a tag to compare
  • Upgrade to librdkafka v1.6.1
  • Add more supported configs from librdkafka.

v2.0.1

29 Sep 19:27
Compare
Choose a tag to compare
  • Fix OTP 23 build
  • Fix for #21
  • Fix memory access

v2.0.0

06 May 20:04
Compare
Choose a tag to compare
  • Redesign the callback system. Instead using one thread per consumer/producer that polls for new events, now it's
    using one single thread for all producers and consumers that's notified when new events are available.
  • Breaking backward compatibility: change the create_consumer_group function parameters, and consumer configs. More details below.
Upgrading from v1.X to v2.0.0

In version 1.x each consumer group could handle a list of topics but it couldn't specify a callback for each topic. Now the callbacks settings moved into the topics list as follow:

% v1.x

{client_consumer_id, [

    {type, consumer},

    {group_id, <<"erlkaf_consumer">>},
    {callback_module, test_consumer},
    {callback_args, []},
    {topics, [<<"topic1">>, <<"topic2">>]},
    {topic_options, [
        {auto_offset_reset, smallest}
    ]},
    {client_options, []}
]}

% becomes in v2.0.0 or newer:

{client_consumer_id, [

    {type, consumer},

    {group_id, <<"erlkaf_consumer">>},
    {topics, [
        {<<"topic1">>, [
            {callback_module, module_topic1},
            {callback_args, []}
        ]},
        {<<"topic2">>, [
            {callback_module, module_topic2},
            {callback_args, []}
        ]}
    ]},

    {topic_options, [
        {auto_offset_reset, smallest}
    ]},
    {client_options, []}
]}

% Please notice that `callback_module` and `callback_args` were moved into the `topics` which 
% now it's a proplist where key is the topic name and value is the list of settings for the topic. 

v1.2.0

22 Mar 10:57
Compare
Choose a tag to compare
  • Based on librdkafka v1.3.0
  • Add new configs isolation_level and plugin_library_paths
  • Set message_timeout_ms to 0
  • Implemented exponential backoff retry policy on consumer

v1.1.9

05 Sep 05:14
Compare
Choose a tag to compare
  • Fix hex package

v1.1.8

03 Sep 14:20
Compare
Choose a tag to compare
  • Add zstd into the deps list
  • Remove deprecated config produce.offset.report

v1.1.7

04 Jun 17:02
Compare
Choose a tag to compare
  • Based on librdkafka v1.0.1
  • Removed configs: queuing_strategy, offset_store_method, reconnect_backoff_jitter_ms
  • Added new configs: reconnect_backoff_ms, reconnect_backoff_max_ms, max_poll_interval_ms, enable_idempotence, enable_gapless_guarantee
  • get_stats decodes json to maps instead of proplists

v1.1.6

13 Apr 06:33
Compare
Choose a tag to compare
  • Fixed memory leaks on the consumer
  • Fixed a segmentation fault caused when init handler is throwing exception on consumer
  • Refactoring the entire consumer part