KafkaJSにすでに存在するトピックを作成しても大丈夫ですか?
状況
私は、動的に使用して、トピックの一連作成していますKafkaJSを、そして順番に選挙の問題を作成することなく、そうすることを発見し、私が使用する必要がありcreateTopics、管理機能を。
問題は、createTopicsすでに存在するトピックでが呼び出された場合、false(文書化されているように)返されるだけでなく、「この名前のトピックはすでに存在します」というエラーも出力することです。
{"level":"ERROR","timestamp":"2020-08-24T18:19:48.465Z","logger":"kafkajs","message":"[Connection] Response CreateTopics(key: 19, version: 2)","broker":"localhost:9092","clientId":"tv-kitchen","error":"Topic with this name already exists","correlationId":2,"size":86}
質問
このエラーはKafkaプロトコルから直接発生することを認識していますが、エラーはエラーであるため、心配しています。
createTopicsすでに存在するトピックを作成するリスクがある場合でも、実行しても安全ですか、それとも何らかのエラー処理を行う必要がありますか?
安全であれば、最終的にはノイズなので、そのエラーを消音することは可能ですか?
回答
ただし、「この名前のトピックは既に存在します」というエラーも表示されます。
これはログメッセージです。
KafkaJSの観点からは、Kafkaからの応答をログに記録します。これにより、トピックが存在することを示す(エラー)コードが正しく返されます。
次に、KafkaJSは、応答を呼び出しfalseから返された文書化された値に変換しcreateTopicsます。
すでに存在するトピックを作成するリスクがある場合でも、createTopicsを実行しても安全ですか、それとも何らかのエラー処理を行う必要がありますか?
すでに存在するトピックを作成しようとするのは安全であり、false結果を取得する場合を処理するのはアプリケーションでの責任ですcreateTopics-おそらく何もしないことによって:)
安全であれば、最終的にはノイズなので、そのエラーを消音することは可能ですか?
KafkaJSのログを構成できるため、アプリケーション側でこのメッセージをログに記録できませんでした。