Connectorエラー処理プロパティ
Overview
MongoDB Kafka Sink Connector がエラーを処理する方法を指定し、デッド レター キューを構成するには、次の構成設定を使用します。
カテゴリ別に整理された Sink Connector 構成設定のリストについては、 Sink Connector 構成プロパティ に関するガイドを参照してください。
設定
名前 | 説明 |
---|---|
mongo.errors.tolerance | Type: string Description: Whether to continue processing messages if the connector encounters
an error. Allows the connector to override the errors.tolerance
Kafka cluster setting.When set to none , the connector reports any error and
blocks further processing of the rest of the messages.When set to all , the connector ignores any problematic messages.When set to data , the connector tolerates only data errors and
fails on all other errors.To learn more about error handling strategies, see the
Handle Errors page. This property overrides the errors.tolerance property of the Connect Framework. Default: Inherits the value from the errors.tolerance
setting.Accepted Values: "none" or "all" |
mongo.errors.log.enable | Type: boolean Description: Whether the connector should write details of errors including
failed operations to the log file. The connector classifies
errors as "tolerated" or "not tolerated" using the
errors.tolerance or mongo.errors.tolerance settings.When set to true , the connector logs both "tolerated" and
"not tolerated" errors.When set to false , the connector logs "not tolerated" errors.This property overrides the errors.log.enable property of the Connect Framework. Default: false Accepted Values: true or false |
errors.log.include.messages | Type: boolean Description: Whether the connector should include the invalid message when
logging an error. An invalid message includes data such as record
keys, values, and headers. Default: false Accepted Values: true or false |
errors.deadletterqueue.topic.name | Type: string Description: Name of topic to use as the dead letter queue. If blank, the
connector does not send any invalid messages to the dead letter
queue. To learn more about the dead letter queue, see the
Dead Letter Queue Configuration Example. Default: "" Accepted Values: A valid Kafka topic name |
errors.deadletterqueue.context.headers.enable | Type: boolean Description: Whether the connector should include context headers when it
writes messages to the dead letter queue. To learn more about the dead letter queue, see the
Dead Letter Queue Configuration Example. To learn about the exceptions the connector defines and
reports through context headers, see
Bulk Write Exceptions. Default: false Accepted Values: true or false |
errors.deadletterqueue.topic.replication.factor | Type: integer Description: The number of nodes on which to replicate the dead letter queue
topic. If you are running a single-node Kafka cluster, you must
set this to 1 .To learn more about the dead letter queue, see the
Dead Letter Queue Configuration Example. Default: 3 Accepted Values: A valid number of nodes |
一括書込みの例外
コネクタは、一括書き込みを実行するときに、デッド レター キューに次の例外をコンテキスト ヘッダーとして報告できます。
名前 | 説明 | |
---|---|---|
WriteException | このクラスは、次の形式でエラーを出力します。
前のメッセージのフィールドには、次の情報が含まれています。
| |
WriteConcernException | このクラスは、次の形式でエラーを出力します。
前のメッセージのフィールドには、次の情報が含まれています。
| |
WriteSkippedException | Description: Informs that MongoDB did not attempt the write of a SinkRecord as part of
the following scenario:
To learn how to set the connector to perform unordered bulk
write operations, see the Connector Message Processing Properties page. Message Format: この例外ではメッセージは生成されません。 |
デッド レター キューへの一括書込み (write) 例外のレポート作成を有効にするには、次のコネクター構成を使用します。
errors.tolerance=all errors.deadletterqueue.topic.name=<name of topic to use as dead letter queue> errors.deadletterqueue.context.headers.enable=true
デッド文字キューの構成例
Apache Kafka バージョン 2.6 では、誤ったレコードを処理するためのサポートが追加されました。 Kafka Connectorは、処理できないメッセージをデッド レター キューに自動的に送信します。 デッド レター キューで再送信されると、エラー レコードを検査してアップデートし、処理のために再送信することができます。
以下は、デッド レター キュー トピックexample.deadletterqueue
を有効にするための構成の例です。 この構成では、デッド レター キューとログファイルに無効なメッセージが記録されること、および、デッド レター キュー メッセージにコンテキスト ヘッダーが含まれることを指定します。
mongo.errors.tolerance=all mongo.errors.log.enable=true errors.log.include.messages=true errors.deadletterqueue.topic.name=example.deadletterqueue errors.deadletterqueue.context.headers.enable=true
デッド レター キューについて詳しくは、「トピックへの書き込みエラーとエラー メッセージ 」を参照してください。