Como resolver o erro "Pipeline execution was aborted"

Saiba como identificar a causa do erro e a aplicar estratégias de correção e prevenção.

A Digibee Integration Platform foi projetada para operações contínuas com alta disponibilidade. Contudo, cada implantação requer configurações adequadas para evitar que a capacidade do pipeline seja ultrapassada, o que pode causar uma indisponibilidade temporária.

Veja como investigar e resolver esse erro caso ele apareça na página Execuções concluídas em Monitor:

{
    "timestamp": 1710944570421,
    “error”: “This pipeline execution was aborted and cannot be automatically retried because it was configured to disallow redeliveries.”,
    “code”: 500
}

Passos para identificar, resolver e prevenir o erro

Esse erro costuma ocorrer devido ao uso excessivo de memória e/ou CPU. Mesmo implantações do tipo Large possuem limites de capacidade que precisam ser observados.

Identificando a causa do erro

Monitore a implantação do pipeline

Na página Monitor:

  • Acesse a aba Métricas e filtre pelo período de tempo no qual o erro em questão ocorreu. Quanto menor o período de tempo selecionado, mais precisos serão os valores no gráfico. Aprenda mais sobre Pipeline Metrics.

  • Verifique se a memória ou CPU excederam. Os limites são:

    • Memória: 100%

    • CPU: Small (20%), Medium (40%) e Large (80%)

      Para mais detalhes, consulte a documentação do Pipeline Engine.

  • Confirme se os payloads de entrada e saída não ultrapassam 5 MB ou o limite configurado no trigger.

  • Nas abas Execuções concluídas ou Pipeline logs, revise os últimos passos antes do erro ocorrer.

Revise a configuração do pipeline

Na página Build, acesse o pipeline e confira se um dos seguintes cenários se aplicam:

  • Carregamento de arquivos grandes (por exemplo, arquivos com mais de 7 MB ou que excedam o limite do conector File).

  • Recuperação de altos volumes de dados pelo conector DB.

  • Uso de conectores REST ou SOAP, que podem exigir muitos recursos.

  • Grande número de conectores com interações externas (como REST, SOAP, DB, Script, File).

  • Blocos de loop com conectores externos em execução em paralelo ou em sequência.

  • Uso de Parallel Execution seguido de múltiplos conectores externos.

  • Logs excessivos ou extensos.

Corrigindo o erro

Após identificar o problema, considere implementar uma ou mais das seguintes estratégias:

  • Aumente o tamanho da implantação do pipeline.

  • Reduza o número de execuções simultâneas.

A memória da implantação é compartilhada entre as execuções simultâneas. Por exemplo, se houver 40 execuções em uma implantação Large, a memória total será dividida entre elas. Reduzindo para 30 execuções, cada uma terá mais memória, o que aumenta a estabilidade.

  • Reduza a quantidade de dados na entrada ou saída do pipeline.

  • Gerencie a carga de dados com limites, filtros e paginação.

  • Aumente a frequência do pipeline para processamentos mais leves e frequentes.

  • Encurte ou remova logs com payloads grandes.

  • Libere a memória de conectores de gerenciamento de sessão usando a operação DELETE.

  • Priorize execuções sequenciais em vez de paralelas.

  • Divida o processamento em vários pipelines.

Otimizando a implantação

Para configurar uma implantação otimizada e estável, comece publicando e monitorando a sua performance para identificar áreas que precisam de ajuste.

Além de alocar recursos computacionais adequados (escalabilidade vertical), assegure-se de que o número de execuções simultâneas (escalabilidade horizontal) está balanceado para manter uma taxa de processamento consistente.

Considere também o tamanho da fila aceitável e a taxa de vazão desejada, que relaciona execuções por segundo (EPS) ao tempo de resposta do pipeline.

Atualizado