Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs Menu
Docs Home
/ /

Connector Error Handling Propiedades

Utiliza las siguientes configuraciones para especificar cómo el conector MongoDB Kafka sink maneja los errores y para configurar la fila de letra muerta.

Para una lista de configuraciones de conectores de salida organizadas por categoría, consulte la guía sobre Propiedades de configuración del conector del sumidero.

Nombre
Descripción
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

El conector puede informar las siguientes excepciones a tu fila de letra muerta como encabezados de contexto cuando realiza escrituras masivas:

Nombre
Descripción
WriteException
Description:
Contains details of a BulkWriteError your connector encountered.

Message Format:

Esta clase muestra el error en el siguiente formato:

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

Los campos en el mensaje anterior contienen la siguiente información:

  • vLa versión del formato de mensaje WriteException. Este campo ayuda a analizar los mensajes producidos por esta excepción. Para la versión 1.15 del conector, la versión del formato del mensaje es 1.

  • codeEl código asociado con el error. Para aprender más, consulta la documentación del método getCode().

  • messageEl mensaje asociado al error. Para obtener más información, consulte la documentación del método getMessage().

  • detailsLos detalles asociados con el error en formato JSON. Para obtener más información, consulta la siguiente documentación del método:

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

Message Format:

Esta clase muestra el error en el siguiente formato:

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

Los campos en el mensaje anterior contienen la siguiente información:

  • vLa versión del formato de mensaje WriteConcernException. Este campo ayuda a analizar los mensajes producidos por esta excepción. Para la versión 1.15 del conector, la versión del formato del mensaje es 1.

  • codeEl código asociado con el error. Para aprender más, consulta la documentación del método getCode().

  • codeName: El código nombre asociado con el error. Para obtener más información, consulta la documentación del método getCodeName().

  • messageEl mensaje asociado al error. Para obtener más información, consulte la documentación del método getMessage().

  • detailsLos detalles asociados con el error en formato JSON. Para obtener más información, consulta la siguiente documentación del método:

WriteSkippedException
Description:
Informs that MongoDB did not attempt the write of a SinkRecord as part of the following scenario:
  1. El conector envía una operación de escritura masiva ordenada a MongoDB

  2. MongoDB no puede procesar una operación de escritura en la operación de escritura masiva ordenada

  3. MongoDB no intenta realizar todas las operaciones de escritura posteriores en la escritura masiva ordenada

To learn how to set the connector to perform unordered bulk write operations, see the Connector Message Processing Properties page.
Message Format:

Esta excepción no produce ningún mensaje.

Para habilitar el reporte de excepciones de guardado masivo en la fila de letra muerta, utiliza la siguiente configuración del conector:

errors.tolerance=all
errors.deadletterqueue.topic.name=<name of topic to use as dead letter queue>
errors.deadletterqueue.context.headers.enable=true

La versión 2.6 de Apache Kafka añadió soporte para gestionar registros errantes. El conector de Kafka envía automáticamente los mensajes que no puede procesar a la fila de letra muerta. Una vez en la fila de letra muerta, puedes inspeccionar los registros erróneos, actualizarlos y volver a enviarlos para su procesamiento.

A continuación se muestra un ejemplo de configuración para habilitar el tema de la fila de letra muerta example.deadletterqueue. Esta configuración especifica que la fila de letra muerta y la entrada de registro deben registrar los mensajes no válidos, y que los mensajes de la fila de letra muerta deben incluir encabezados de contexto.

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

Para obtener más información sobre las filas de letra muerta, consulte Guardar errores y mensajes errantes en un tema.

Volver

Procesamiento de mensajes del Connector

En esta página