【发布时间】:2021-12-10 17:35:15
【问题描述】:
我尝试通过将保留时间设置为 1 秒然后返回原始值来从 Java 中清除 Kafka 主题,如下所示。但是消息没有从主题中删除。怎么了?
Map<ConfigResource,Collection<AlterConfigOp>> altConf = new HashMap<ConfigResource,Collection<AlterConfigOp>>();
Collection<AlterConfigOp> altConfOp = new ArrayList<AlterConfigOp>();
AlterConfigOp aco1 = new AlterConfigOp(new ConfigEntry(TopicConfig.RETENTION_MS_CONFIG, "1000"), AlterConfigOp.OpType.SET);
altConfOp.add(aco1);
altConf.put(new ConfigResource(ConfigResource.Type.TOPIC, topic), altConfOp);
ac.incrementalAlterConfigs(altConf);
Thread.sleep(5000);
altConf = new HashMap<ConfigResource,Collection<AlterConfigOp>>();
altConfOp = new ArrayList<AlterConfigOp>();
aco1 = new AlterConfigOp(new ConfigEntry(TopicConfig.RETENTION_MS_CONFIG, originalRetention), AlterConfigOp.OpType.SET);
altConfOp.add(aco1);
altConf.put(new ConfigResource(ConfigResource.Type.TOPIC, topic), altConfOp);
ac.incrementalAlterConfigs(altConf);
【问题讨论】:
-
不保证日志清理器在任何时间段内都运行过
标签: apache-kafka purge kafka-topic