Timeout no conector Pipeline Executor

Saiba como evitar esse erro em requisições síncronas

Em operações síncronas do conector Pipeline Executor, um pipeline de origem é disparado enquanto o pipeline de destino aguarda a sua finalização e resposta para prosseguir.

Nesse caso, pode acontecer uma dessincronização na comunicação entre os dois pipelines dependendo da configuração de implantação de ambos, principalmente quando há um alto volume de execuções. O pipeline de destino retorna um erro de timeout ao pipeline de origem, mesmo executando em tempo hábil.

Isso acontece quando a quantidade de chamadas excede a capacidade de processamento do pipeline de destino e pode causar um erro de timeout como mostrado abaixo:

The message could not be sent to the specified pipeline. Error org.apache.camel.ExchangeTimedOutException: The OUT message was not received within: 20000 millis due reply message with correlationID: Camel-…-… not received on destination: amq.gen-…. Exchange[…-…]

Solução

Caso esta situação ocorra, verifique se os fluxos envolvidos se encaixam em um dos seguintes cenários:

  • Implantação do pipeline de origem com mais execuções simultâneas do que o do pipeline de destino.

  • Pipeline de destino disparado por diversos fluxos ao mesmo tempo, causando um número de requisições superior ao de execuções concorrentes da sua implantação.

Para corrigir o problema:

  • Certifique-se de aumentar o número de execuções concorrentes do pipeline de destino para conferir maior capacidade de atendimento — o que pode exigir um aumento no número de réplicas.

  • Se a operação puder ser assíncrona, altere-a ou considere usar uma chamada por evento para que o gerenciador de filas controle o tráfego no pipeline de destino.

Atualizado

Isto foi útil?