Java 卡夫卡主题删除
我使用Kafka作为事件源系统的事件存储 在集成测试中,我通过运行Java 卡夫卡主题删除,java,apache-kafka,integration-testing,Java,Apache Kafka,Integration Testing,我使用Kafka作为事件源系统的事件存储 在集成测试中,我通过运行 kafka-topics.sh --zookeeper localhost:2181 --delete --topic <topic-name> kafka-topics.sh--zookeer localhost:2181--delete--topic 对于每个现有主题,确保“旧”数据不会影响以下测试 我知道这些主题只标记为删除,而不是就地删除。而且,在大多数情况下,这对我来说没关系 但是在一些测试用例中,当
kafka-topics.sh --zookeeper localhost:2181 --delete --topic <topic-name>
kafka-topics.sh--zookeer localhost:2181--delete--topic
对于每个现有主题,确保“旧”数据不会影响以下测试
我知道这些主题只标记为删除,而不是就地删除。而且,在大多数情况下,这对我来说没关系
但是在一些测试用例中,当我再次创建一个主题时(通过在主题中写入一条记录),它不会被删除。在本例中,Kafka抛出未知的ToPicorPartitionException
我想知道是否有办法强制卡夫卡删除这个话题(或者至少增加删除的机会)
如有任何建议,我将不胜感激
我使用的是卡夫卡0.11.0.1您无需删除主题即可丢弃“旧”数据。您可以通过停止Kafka服务器、删除主题的日志目录并再次启动Kafka来实现这一点
主题目录位于日志目录中,由代理配置中的
log.dir
指定,前缀为主题名称。您不必删除主题即可丢弃“旧”数据。您可以通过停止Kafka服务器、删除主题的日志目录并再次启动Kafka来实现这一点
主题目录位于日志目录中,由代理配置中的
log.dir
指定,前缀为主题名称。谢谢您的回答。问题在于,为每个测试停止并重新启动Kafka broker和Zookeeper服务器会显著增加测试的执行时间。也许我可以通过某种方式避免重新启动?您不必重新启动Zookeeper,但我认为您需要重新启动Kafka以使其刷新其文件句柄。谢谢您的回答。问题在于,为每个测试停止并重新启动Kafka broker和Zookeeper服务器会显著增加测试的执行时间。也许我可以通过某种方式避免重新启动?您不必重新启动Zookeeper,但我认为您需要重新启动Kafka,以便让它刷新其文件句柄。