Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

Status

Current state: Under Discussion

Discussion thread:

JIRA:


Motivation

People use Kafka, among many reasons, because they need to be sure their messages are correctly processed by their applications. Classic configuration is to have 3 replica, and commit the offset of a message once it has been correctly processed. Developers use this configuraton because it is important not to lose any messages.

...

  • offset of the message that will be removed.
  • last offset consumed from a consumer group.

Public Interfaces

The kafka-topic.sh tool must understand a new property on --config property:

  • notify.groups.on.expiration : comma separated list of groups that will be notified on offset expiration.

Proposed Changes

The modifications introduced are in blue on the following list:

  • The scheduler is triggered
  • The scheduler will search for the logs to be deleted.
  • Read the last offset consumed by all groups specified on notify.groups.on.expiration.
  • The scheduler will remove the log.
  • If the offset that has been removed is lower that the last consumed offset for each group, log a line:
    • "message with offset %d partition %d topic %s has been removed without being consumed by group %s"

Compatibility, Deprecation, and Migration Plan

There is no impact on existing features.

Rejected Alternatives