Para agentes de IA: um índice de documentação está disponível em https://www.mongodb.com/pt-br/docs/llms.txt — as versões de markdown de todas as páginas estão disponíveis anexando .md a qualquer caminho de URL.
Menu Docs

Propriedades de tratamento de erros do conector

Use as seguintes definições de configuração para especificar como o conector do coletor do MongoDB Kafka lida com erros e para configurar a fila de letras mortas.

Para obter uma lista de definições de configuração do conector de coletor organizadas por categoria, consulte o guia sobre Propriedades de configuração do Connector de coletor.

Nome
Descrição

mongo.errors.tolerance

Tipo: string

Descrição:
Se deve continuar processando mensagens caso o conector encontre um erro. Permite que o conector substitua a configuração do cluster Kafka errors.tolerance.

Quando definido como none, o conector relata qualquer erro e bloqueia o em processamento adicional do restante das mensagens.

Quando definido como all, o conector ignora quaisquer mensagens problemáticas.

Quando definido como data, o conector tolera apenas erros de dados e falha em todos os outros erros.

Para aprender mais sobre estratégias de tratamento de erros, consulte a página Lidar com erros.

Esta propriedade substitui a errors.tolerance
propriedade do Connect Framework.

Padrão: Herda o valor da configuração errors.tolerance.
Valores aceitos: "none" ou "all"

mongo.errors.log.enable

Tipo: booleano

Descrição:
Se o conector deve gravar detalhes de erros, incluindo operações com falha, no arquivo de log. O conector classifica os erros como "tolerados" ou "não tolerados" usando as configurações errors.tolerance ou mongo.errors.tolerance.

Quando definido como true, o conector registra erros "tolerados" e "não tolerados".
Quando definido como false, o conector registra erros "não tolerados".

Esta propriedade substitui a propriedade errors.log.enable
propriedade do Connect Framework.

Padrão: false
Valores aceitos: true ou false

errors.log.include.messages

Tipo: booleano

Descrição:
Se o conector deve incluir a mensagem inválida ao registrar um erro. Uma mensagem inválida inclui dados como chaves de registro, valores e cabeçalhos.

Padrão: false
Valores aceitos: true ou 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

O connector pode relatar as seguintes exceções à sua fila de mensagens não entregues (DLQ) como cabeçalhos de contexto ao executar gravações em massa:

Nome
Descrição

WriteException

Descrição:
Contém detalhes de um BulkWriteError encontrado pelo seu conector.

Formato da mensagem:

Esta classe gera o erro no seguinte formato:

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

Os campos na mensagem anterior contêm as seguintes informações:

  • v: a versão do formato de mensagem WriteException . Este campo ajuda a analisar as mensagens produzidas por esta exceção. Para a versão 2.0 do connector, a versão do formato da mensagem é 1.

  • code: o código associado ao erro. Para saber mais, consulte a documentação do método getCode().

  • message: a mensagem associada ao erro. Para saber mais, consulte a documentação do método getMessage().

  • details: Os detalhes associados ao erro no formato JSON. Para saber mais, consulte a seguinte documentação de método:

WriteConcernException

Descrição:
Contém detalhes de um WriteConcernError que seu conector encontrou.

Formato da mensagem:

Esta classe gera o erro no seguinte formato:

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

Os campos na mensagem anterior contêm as seguintes informações:

  • v: a versão do formato de mensagem WriteConcernException . Este campo ajuda a analisar as mensagens produzidas por esta exceção. Para a versão 2.0 do connector, a versão do formato da mensagem é 1.

  • code: o código associado ao erro. Para saber mais, consulte a documentação do método getCode().

  • codeName: O nome do código associado ao erro. Para saber mais, consulte a documentação do método getCodeName().

  • message: a mensagem associada ao erro. Para saber mais, consulte a documentação do método getMessage().

  • details: Os detalhes associados ao erro no formato JSON. Para saber mais, consulte a seguinte documentação de método:

WriteSkippedException

Descrição:
Informa que o MongoDB não tentou gravar um SinkRecord como parte do seguinte cenário:

  1. O connector envia uma operação de gravação ordenada em massa para o MongoDB

  2. MongoDB falha ao processar uma operação de gravação na gravação em massa ordenada

  3. O MongoDB não tenta realizar todas as operações de gravação subsequentes na gravação em massa ordenada

Para saber como configurar o Connector para realizar operações de gravação em massa não ordenadas, consulte a página Propriedades de processamento de mensagens do Connector.
Formato da mensagem:

Esta exceção não produz nenhuma mensagem.

Para habilitar o relatório de exceções de gravação em massa para a fila de mensagens não entregues (DLQ), use a seguinte configuração do connector:

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

A versão 2.6 do Apache Kafka adicionou suporte para lidar com registros errôneos. O conector Kafka envia automaticamente mensagens que não pode processar para a fila de letras mortas . Uma vez na fila de letras mortas, você pode inspecionar os registros erráticos, atualizá-los e reenviá-los para processamento.

Veja a seguir um exemplo de configuração para ativar o tópico da fila de mensagens não entregues (DLQ) example.deadletterqueue. Essa configuração especifica que a dead letter queue e o arquivo de log devem registrar mensagens inválidas e que as mensagens da dead letter queue devem incluir cabeçalhos 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 saber mais sobre fila de mensagens não entregues (DLQ), consulte Escrever erros e mensagens errôneas em um tópico.