Skip to content

Commit 4feffa6

Browse files
authored
Merge pull request #122 from zmstone/260724-doc-reconnect-delay-ms
docs: document the reconnect_delay_ms producer option
2 parents 4fa497f + 1e55dff commit 4feffa6

2 files changed

Lines changed: 11 additions & 0 deletions

File tree

changelog.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@
66
No behavior change, spec (dialyzer) only.
77

88
* 4.2.0
9+
- Document the existing `reconnect_delay_ms` producer option (default 2000) in
10+
the `config_key`/`config_in` specs and producer docs. Behavior is unchanged.
911
- Add `max_retry` producer option (default `infinity`, i.e. retry forever).
1012
When set to a non-negative integer, a batch that keeps getting Kafka error
1113
responses (e.g. `not_leader_for_partition`) is dropped once it has been

src/wolff_producer.erl

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@
5151
drop_if_highmem |
5252
max_batch_age |
5353
max_retry |
54+
reconnect_delay_ms |
5455
telemetry_meta_data |
5556
max_partitions.
5657

@@ -69,6 +70,7 @@
6970
drop_if_highmem => boolean(),
7071
max_batch_age => timeout(),
7172
max_retry => infinity | non_neg_integer(),
73+
reconnect_delay_ms => non_neg_integer(),
7274
telemetry_meta_data => map(),
7375
max_partitions => pos_integer()
7476
}.
@@ -87,6 +89,7 @@
8789
drop_if_highmem => boolean(),
8890
max_batch_age => timeout(),
8991
max_retry => infinity | non_neg_integer(),
92+
reconnect_delay_ms => non_neg_integer(),
9093
telemetry_meta_data => map(),
9194
max_partitions => pos_integer()
9295
}.
@@ -189,6 +192,12 @@
189192
%% on the first error; `infinity' (the default) retries forever. Note this
190193
%% counts Kafka error responses only; resends triggered purely by connection
191194
%% loss are bounded by `max_batch_age', not by `max_retry'.
195+
%% * `reconnect_delay_ms': default 2000. Base delay in milliseconds before a
196+
%% disconnected producer tries to reconnect to the partition leader. A random
197+
%% jitter of 1..1000 ms is added on top so that partition workers do not all
198+
%% reconnect at the same instant. The very first attempt right after a
199+
%% disconnect uses no delay (reconnect immediately); the delay applies to
200+
%% subsequent attempts.
192201
-spec start_link(wolff:client_id(), topic(), partition(), pid() | ?conn_down(any()), config_in()) ->
193202
{ok, pid()} | {error, any()}.
194203
start_link(ClientId, Topic, Partition, MaybeConnPid, Config) ->

0 commit comments

Comments
 (0)