Docs Menu
Docs Home
/
MongoDB Kafka Connector
/ /

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
Description:
Contains details of a BulkWriteError your connector encountered.

Message Format:

このクラスは、次の形式でエラーを出力します。

v=%d, code=%d, message=%s, details=%s

前のメッセージのフィールドには、次の情報が含まれています。

  • v: WriteExceptionメッセージ形式のバージョン。 このフィールドは、この例外によって生成されたメッセージを解析するのに役立ちます。 connectorのバージョン1.13の場合、メッセージ形式のバージョンは1です。

  • code: エラーに関連付けられたコード。 詳細については、 getCode() の メソッドのドキュメントを参照してください。

  • message: エラーに関連するメッセージです。 詳細については、 getMessage() メソッドのドキュメントを参照してください。

  • details: JSON 形式のエラーに関連する詳細。 詳しくは、次のメソッドのドキュメントを参照してください。

WriteConcernException
Description:
Contains details of a WriteConcernError your connector encountered.

Message Format:

このクラスは、次の形式でエラーを出力します。

v=%d, code=%d, codeName=%d, message=%s, details=%s

前のメッセージのフィールドには、次の情報が含まれています。

  • v: WriteConcernExceptionメッセージ形式のバージョン。 このフィールドは、この例外によって生成されたメッセージを解析するのに役立ちます。 connectorのバージョン1.13の場合、メッセージ形式のバージョンは1です。

  • code: エラーに関連付けられたコード。 詳細については、 getCode() の メソッドのドキュメントを参照してください。

  • codeName: エラーに関連付けられたコード名。 詳細については、 getCodeName() の メソッドのドキュメントを参照してください。

  • message: エラーに関連するメッセージです。 詳細については、 getMessage() メソッドのドキュメントを参照してください。

  • details: JSON 形式のエラーに関連する詳細。 詳しくは、次のメソッドのドキュメントを参照してください。

WriteSkippedException
Description:
Informs that MongoDB did not attempt the write of a SinkRecord as part of the following scenario:
  1. コネクタは順序付き一括書込み操作を MongoDB に送信

  2. MongoDB が順序付き一括書き込みで書き込み操作の処理に失敗します

  3. MongoDB は、順序付き一括書き込みで後続のすべての書き込み操作の実行を試行しません

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

デッド レター キューについて詳しくは、「トピックへの書き込みエラーとエラー メッセージ 」を参照してください。

戻る

Connectorメッセージ処理