Skip to content

Move to @nest-native/kafka 0.6.0 - #127

Merged
rodrigobnogueira merged 1 commit into
mainfrom
chore/kafka-0.6
Sep 29, 2026
Merged

rodrigobnogueira merged 1 commit into
mainfrom
chore/kafka-0.6

Conversation

@rodrigobnogueira

Copy link
Copy Markdown
Contributor

Moves the app from @nest-native/kafka ^0.5.1 to ^0.6.0. @nest-native/messaging 0.7.0 already peers ^0.6.0, so the tree keeps a single deduplicated copy. The README's compatibility row moves to 0.6.x; docs:check gates it.

The one behavior change the app picks up is the retry backoff. A message whose failure maps to 'retry' now pauses its partition for 1 s, doubling up to 30 s. On 0.5.x it came back about every 0.5 s, forever.

  • The app keeps the default error mapper, which maps an unexpected plain Error, such as a database outage inside a handler, to 'retry'. Those redeliveries now back off instead of hitting the failing dependency twice a second per stuck partition.
  • Handlers that reject bad input throw 4xx exceptions, which commit, as before; TaskSummaryConsumer explains why.
  • The live Kafka e2e's redelivery is a duplicate the inbox deduplicates, not a 'retry', so the backoff doesn't engage there. The spec passes against Redpanda in about 7 s, as before.

The release's fixes also apply without code changes: async error mappers are awaited, and a graceful shutdown no longer commits records it fetched but didn't process. Its new health indicator, topic patterns and dead-letter helpers are opt-in and not used here.

0.6.0's one change in default behavior is the retry backoff: a message
whose failure maps to 'retry' now pauses its partition for 1 s, doubling
up to 30 s, where 0.5.x redelivered it about every 0.5 s. The app keeps
the default error mapper, which maps an unexpected error (a plain Error,
such as a database outage inside a handler) to 'retry', so those
redeliveries now back off instead of hitting the failing dependency
twice a second per stuck partition. Handlers that reject bad input throw
4xx exceptions, which commit, as before. The live Kafka e2e's redelivery
is a duplicate the inbox deduplicates, not a retry, so the backoff never
engages there; the spec passes against Redpanda as before.

The release also awaits async error mappers, stops committing records
fetched during a graceful shutdown, and adds a health indicator, topic
patterns and dead-letter helpers; none of the app's API use changes.
@nest-native/messaging 0.7.0 already peers ^0.6.0, so the tree keeps
one deduplicated copy. The README's compatibility row moves to 0.6.x
(docs:check gates it).
@rodrigobnogueira
rodrigobnogueira merged commit 81c72c9 into main Sep 29, 2026
3 checks passed
@rodrigobnogueira
rodrigobnogueira deleted the chore/kafka-0.6 branch September 29, 2026 12:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant