更改kafka主题的retention.ms属性会删除旧数据

Pri*_*til 0 apache-kafka

我正在尝试更改现有主题的retention.ms属性,但根据我的分析,它会删除主题内的所有现有数据。

场景:- 最初我的主题名称的"topic1"保留时间为 5 分钟,并且包含一些数据。

用例 1 - 将保留时间更改为更长的时间然后我使用以下命令将retention.ms值更改为8分钟:-

 bin/kafka-topics.sh --alter --zookeeper localhost:2181 
   --topic topic1 --config retention.ms=8
Run Code Online (Sandbox Code Playgroud)

但它会删除我该主题中的所有旧数据。之后我将更多数据推入该主题。

用例 2 - 将保留时间更改为较短的时间然后我使用以下命令将retention.ms值更改为3分钟:-

 bin/kafka-topics.sh --alter --zookeeper localhost:2181 
   --topic topic1 --config retention.ms=3
Run Code Online (Sandbox Code Playgroud)

它还会删除该主题之前的数据。

有人可以告诉我同样的确切行为吗?

任何提示表示赞赏!

avr*_*avr 6

Kafka 中的retention.ms属性需要几毫秒。因此,您将保留期分别更改为 8 毫秒和 3 毫秒。如果你想设置8分钟的保留期,你必须给480000。

  • 即使不早于保留期限,也会删除数据。我尝试了这个kafka单机模式命令行。 (2认同)