2017-09-18 10 views
1

私はカフェをイベントソーシングシステムのイベントストアとして使用します。 カフカトピック削除

は、統合テストでは、私は「古い」のデータは、次のテストには影響しないことを確認するために、既存の各トピックについて

kafka-topics.sh --zookeeper localhost:2181 --delete --topic <topic-name> 

を実行することにより、カフカで現在使用可能なすべてのトピックを削除します。

トピックに削除マークが付いていても、削除されていないことはわかっています。そして、ほとんどの場合、それは私にとっては問題ありません。

しかし、いくつかのテストケースでは、(トピックにレコードを書き込むことによって)トピックを再度作成したときに削除されないことが判明しました。この場合、カフカはUnknownTopicOrPartitionExceptionを投げる。

カフカがトピックを削除する方法(または少なくとも削除の可能性を高める方法)があるかどうかは疑問です。

アドバイスをいただき、ありがとうございます。

私はあなたが「古い」データを破棄するために、トピックを削除する必要はありませんカフカ0.11.0.1

答えて

0

を使用しています。あなたはKafkaサーバーを停止し、トピックのログディレクトリを削除し、Kafkaを再開することでそれを達成することができます。

トピックのディレクトリは、ブローカの構成のlog.dirで指定されているように、トピックの名前の接頭辞が付いたログディレクトリ内にあります。

+0

お返事ありがとうございます。問題は、各テストでKafkaブローカーとZookeeperサーバーを停止して再起動すると、テストの実行時間が劇的に増加することです。多分私は何とかこの再起動を避けることができますか? – Dmitriy

+0

あなたはZookeeperを再起動する必要はありませんが、ファイルハンドルを更新するためにKafkaを再起動する必要があると思います。 – alirabiee

関連する問題