Kafka-streams:将内部主题清除策略设置为删除不起作用

时间:2018-09-02 06:48:21

标签: apache-kafka apache-kafka-streams

我使用kafka流缩减功能,它创建了一些状态存储更改日志kafka内部主题(例如app-KSTREAM-REDUCE-STATE-STORE-0000000002-changelog)。

我想设置保留字节,并将清理策略更改为删除,以防止存储空间已满。因此,我在kafka流代码中设置了以下配置:

Properties props = new Properties();
props.put(StreamsConfig.TOPIC_PREFIX + TopicConfig.RETENTION_BYTES_CONFIG, Constants.INTERNAL_TOPICS_RETENTION_BYTES);
props.put(StreamsConfig.TOPIC_PREFIX + TopicConfig.CLEANUP_POLICY_CONFIG, TopicConfig.CLEANUP_POLICY_DELETE);
KafkaStreams streams = new KafkaStreams(builder.build(), props);

但是,当生成新主题时,将保留配置应用于新生成的内部主题,并且清理策略保持紧凑

是否有缺少的步骤? (或者是否有可能将内部主题清理策略设置为删除?)

我使用kafka版本 1.0.0 和kafka-streams版本 1.0.0

1 个答案:

答案 0 :(得分:3)

感谢国章在kafka mailing list中的回答:

  

您描述的问题似乎是一个较早的错误,自1.1.0起已解决   (作为https://jira.apache.org/jira/browse/KAFKA-6150中修复程序的一部分)。

     

...您无需升级代理即可使用更新的Streams库   版本。

将kafka-streams版本升级到 1.1.0 可以解决此问题。