Skip to content

Commit f3fd8c4

Browse files
authored
Merge pull request #168 from farsightsec/next
Release 1.3.1 to depend on librdkafka error handling.
2 parents 5d352da + 3cdc1c8 commit f3fd8c4

File tree

5 files changed

+15
-12
lines changed

5 files changed

+15
-12
lines changed

ChangeLog

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
nmsg (1.3.1-1)
2+
3+
* Rely on built-in librdkafka error handling.
4+
15
nmsg (1.2.0)
26

37
* Add support for Kafka i/o in JSON and binary forms.

configure.ac

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ AC_PREREQ(2.64)
22

33
m4_define(nmsg_major_version, 1)
44
m4_define(nmsg_minor_version, 3)
5-
m4_define(nmsg_patchlevel_version, 0)
5+
m4_define(nmsg_patchlevel_version, 1)
66
m4_define(nmsg_version,
77
nmsg_major_version.nmsg_minor_version.nmsg_patchlevel_version)
88
m4_define(nmsg_version_number,

debian/changelog

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,9 @@
1+
nmsg (1.3.1-1) debian-fsi; urgency=medium
2+
3+
* Rely on built-in librdkafka error handling.
4+
5+
-- Farsight Security, Inc. <software@farsightsecurity.com> Thu, 31 Oct 2024 18:19:04 +0000
6+
17
nmsg (1.3.0-1) debian-fsi; urgency=medium
28

39
* Added external configuration for Kafka IO.

nmsg.spec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
Name: nmsg
2-
Version: 1.3.0
2+
Version: 1.3.1
33
Release: 1%{?dist}
44
Summary: network message encapsulation library
55

nmsg/kafkaio.c

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -210,7 +210,7 @@ _kafka_state_to_str(kafka_state state)
210210
static void
211211
_kafka_set_state(kafka_ctx_t ctx, const char *func, kafka_state state)
212212
{
213-
_nmsg_dprintf(3, "%s changing state from %s to %s\n", func,
213+
_nmsg_dprintf(3, "%s: changing state from %s to %s\n", func,
214214
_kafka_state_to_str(ctx->state), _kafka_state_to_str(state));
215215
ctx->state = state;
216216
}
@@ -597,19 +597,15 @@ _kafka_error_cb(rd_kafka_t *rk, int err, const char *reason, void *opaque)
597597
return;
598598
}
599599
switch (err_kafka) {
600-
/* Keep retrying on socket disconnect, brokers down and message timeout */
601600
case RD_KAFKA_RESP_ERR__TRANSPORT:
602601
case RD_KAFKA_RESP_ERR__ALL_BROKERS_DOWN:
603602
case RD_KAFKA_RESP_ERR__MSG_TIMED_OUT:
604-
_nmsg_dprintf(2, "%s: got Kafka error %d: %s\n", __func__, err, reason);
605-
break;
606603
case RD_KAFKA_RESP_ERR__UNKNOWN_PARTITION:
607604
case RD_KAFKA_RESP_ERR_UNKNOWN_TOPIC_OR_PART:
608605
case RD_KAFKA_RESP_ERR_OFFSET_OUT_OF_RANGE:
609-
/* At the moment treat any broker's error as fatal */
610606
default:
607+
/* Just log, let librdkafka handle all errors */
611608
_nmsg_dprintf(2, "%s: got Kafka error %d: %s\n", __func__, err, reason);
612-
_kafka_set_state(ctx, __func__, kafka_state_break);
613609
break;
614610
}
615611
}
@@ -630,10 +626,7 @@ _kafka_delivery_cb(rd_kafka_t *rk, const rd_kafka_message_t *rkmessage, void *op
630626
}
631627
if (rkmessage->err != RD_KAFKA_RESP_ERR_NO_ERROR) {
632628
int level = 2;
633-
if (rkmessage->err != RD_KAFKA_RESP_ERR__MSG_TIMED_OUT) {
634-
_kafka_set_state(ctx, __func__, kafka_state_break);
635-
rd_kafka_yield(rk);
636-
} else {
629+
if (rkmessage->err == RD_KAFKA_RESP_ERR__MSG_TIMED_OUT) {
637630
ctx->dropped++;
638631
level = 4;
639632
}

0 commit comments

Comments
 (0)