Overview
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.
Configuraciones
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: falseAccepted 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: falseAccepted 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: falseAccepted 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: 3Accepted Values: A valid number of nodes |
Excepciones de escritura masiva
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 | Esta clase muestra el error en el siguiente formato: Los campos en el mensaje anterior contienen la siguiente información:
| |
WriteConcernException | Esta clase muestra el error en el siguiente formato: Los campos en el mensaje anterior contienen la siguiente información:
| |
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: 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
Ejemplo de configuración de cola de mensajes no entregados
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.