Skip to content

Problemas no HorusETL ​

Tipo
Solução de problemas
Para
Engenharia de dados
Na tela
HorusETL › Agendamentos › Logs de Execução

Falhas de Agente, de conexão, de carga e de publicação, organizadas pela mensagem que aparece na tela ou no log. O significado de cada status e coluna do log está em Status e mensagens. Instalação, serviço e atualização do Agente no Windows estão em Problemas com o Agente ETL no Windows.

O Agente ETL precisa estar online para executar uma carga! ​

Causa: o serviço do Agente ETL parou, ou a máquina perdeu a saída para o Lumo.

Como confirmar: em Configurar Agentes ETL, a Situação do agente: está Offline.

Conserto: suba o serviço no Windows, ou rode docker compose up -d na pasta do Agente. Confira a saída HTTPS para os endereços de Rede e segurança. Os agendamentos perdidos aparecem como Não executado em Eventos, de onde podem ser rodados com Forçar carga.

O agendamento roda fora da janela de horário ​

Causa: a Janela de Horário entre vale no relógio da máquina do Agente ETL, e essa máquina está em outro fuso. Um container Docker sem a linha TZ fica em UTC: a janela de 06:00 a 20:00 roda das 03:00 às 16:30 de Brasília.

Como confirmar: as execuções começam e terminam o mesmo número de horas antes, ou depois, da janela configurada. Três horas antes indica um Agente em UTC.

Conserto: ponha a máquina ou o container no seu fuso. No Docker, acrescente TZ: "America/Sao_Paulo" em environment e rode docker compose up -d; ver Fuso do container. O ajuste vale para todos os Tenants que o Agente atende.

Conexão recusada ou tempo esgotado ao ler o banco ​

Causa: a máquina do Agente ETL não alcança o banco. Usuário e senha costumam estar certos.

Como confirmar: em Conexões, abra a conexão e clique em Testar conexão. O teste roda no Agente; se der Não conectou com erro de rede, o problema é o caminho entre as duas máquinas.

Conserto: libere a porta do banco para a máquina do Agente, ou use um Agente instalado na mesma rede do banco. Ver Como o HorusETL funciona.

Múltiplas Réplicas Detectadas! ​

Causa: o mesmo token está em duas máquinas, que disputam as execuções.

Como confirmar: o aviso, na tela do Agente, lista as instâncias com IP, versão e sistema.

Conserto: desligue a instalação que sobra, ou crie um Agente novo para ela.

Processador de nome X não encontrado. ​

Causa: o Dataflow usa um nó que o Agente ETL instalado ainda não conhece.

Como confirmar: compare a Versão do Agente ETL com Versões do Agente ETL.

Conserto: atualize o Agente; ver Manter o Agente ETL.

O nó InsertDatawarehouse está com TableID=0... ​

Causa: o nó DataWarehouse não aponta para uma tabela.

Como confirmar: no editor, a seção Carga mostra "O destino ainda não aponta para uma tabela."

Conserto: em Tabela de destino, escolha uma tabela ou Criar nova tabela, salve e republique.

Tabela sem colunas definidas. Verifique se o Dataflow está vinculado com a tabela. ​

Causa: a tabela de destino existe, mas sem colunas, em geral porque foi criada antes de o nó de origem ter sido executado.

Como confirmar: abra a tabela no HorusDW e veja a lista de colunas.

Conserto: no editor, rode Executar Todos os Nós para o Lumo conhecer as colunas, salve e republique.

Para cargas incrementais é necessário ter um processador de destino para o Datawarehouse... ​

Causa: o Dataflow é Incremental, mas não grava no HorusDW. O ponto de corte sai da tabela de destino, e sem ela não há de onde tirá-lo.

Como confirmar: o Dataflow não tem nó DataWarehouse, ou o nó está desligado do resto.

Conserto: ligue um nó DataWarehouse, ou troque a Extração para Total ou Janela.

A tabela "X" não tem chave única... ​

Causa: a Gravação Atualizar por chave, ou uma Extração Incremental nova, foi escolhida para uma tabela com Chave Duplicada. Cada alteração entraria como linha nova.

Como confirmar: no editor, a seção Carga mostra "Atualizar por chave precisa que a tabela X tenha chave única."

Conserto: clique em Resolver a chave, marque Chave Única e as Colunas Chave, e confirme Reconstruir a tabela. A tabela volta vazia e se enche na próxima execução.

Este dataflow usa a Gravação "Atualizar por chave" com Extração "Janela", que exige Agente ETL 1.28.0... ​

Causa: um Agente anterior à 1.28.0 apagaria a janela em vez de atualizar por chave, e o Lumo recusa.

Como confirmar: a mensagem traz a versão que o Agente reporta.

Conserto: atualize o Agente ETL.

Contexto '…' pede carga por janela, mas … ​

Causa: um contexto de janela (Últimos N dias, mês, ano) foi pedido para um Dataflow que não é de Janela, ou que está sem coluna de janela, e a Gravação apagaria antes de inserir. Seguir apagaria a tabela inteira para reinserir só a janela.

Como confirmar: veja a Extração e a Coluna de janela do Dataflow, e o contexto do agendamento.

Conserto: troque a Extração para Janela com coluna de janela, ou use o contexto Total nesse agendamento.

As variáveis StartDate e EndDate devem estar definidas para cargas temporais. ​

Causa: um Configurador devolveu StartDate ou EndDate vazio. Sem Configurador, o Agente ETL sempre preenche as duas, com 01/01/1910 e 01/01/2100 quando o contexto não define janela.

Como confirmar: veja o que os Configuradores do Dataflow devolvem nessas variáveis.

Conserto: não devolva StartDate nem EndDate vazios num Configurador.

Uma variável chega literal ao banco, como {StartDate} ​

Causa: a variável não existia na execução. O nome tem outra grafia, o Configurador que a cria está em outro Dataflow, ou o Dataflow não é de Janela.

Como confirmar: a mensagem de erro do banco mostra o texto com as chaves.

Conserto: confira o nome, com maiúsculas, em Variáveis.

Varredura recusada: ... ​

Causa: a sincronização de exclusões parou sem marcar nada, porque a consulta de chaves voltou vazia ou as contagens não fecham. A execução fica verde.

Como confirmar: a última linha do log do Dataflow.

Conserto: ver Sincronizar exclusões.

A tabela duplica a cada carga ​

Causa: a carga traz de novo linhas que já estão no destino, e a tabela tem Chave Duplicada. Acontece com Incremental e com Substituir a janela sobre uma coluna de janela que muda.

Como confirmar: conte as linhas por chave no destino; a mesma chave aparece mais de uma vez.

Conserto: marque Chave Única na tabela, ou troque a coluna de janela por uma data que não muda. Ver Tipos de carga.

Registros somem do destino sem ninguém ter apagado ​

Causa: Substituir a janela sobre uma coluna que muda, como data_vencimento, ou uma consulta que não devolve tudo o que existe na janela. A linha que não veio é apagada.

Como confirmar: a linha que sumiu tem, na origem, a coluna de janela fora do intervalo da carga.

Conserto: use uma data que não muda como coluna de janela, ou troque a Gravação para Atualizar por chave.

O total bate na prévia do Dataflow e não bate no Dashboard ​

Causa: a Chave Única não tem todas as colunas que distinguem uma linha, e linhas diferentes viraram uma só.

Como confirmar: compare a contagem da consulta com a do destino.

Conserto: acrescente as colunas que faltam à chave. A tabela é reconstruída e se enche na próxima execução.

Um registro apagado na origem continua no Dashboard ​

Causa: a carga é Incremental ou usa Atualizar por chave, e nenhuma dessas apaga.

Como confirmar: o registro não existe na origem e existe no destino.

Conserto: ver Exclusões na origem.

Uma carga Total não limpou a tabela inteira ​

Causa: a Total substitui só o que aquele Dataflow gravou. Outro Dataflow que grava na mesma tabela mantém a parte dele.

Como confirmar: veja quais Dataflows gravam nessa tabela.

Conserto: rode a Total de cada Dataflow, ou deixe um Dataflow só por tabela.

O agendamento atrasa cada vez mais ​

Causa: os agendamentos do Tenant rodam um de cada vez e somam mais tempo que o intervalo entre eles.

Como confirmar: Eventos mostra execuções Atrasado em sequência; a duração no log cresce junto.

Conserto: ver Dimensionar o Agente ETL.

A publicação recusa ​

Causa: a tabela lida pelo Dataflow não está publicada, a tabela de destino foi excluída ou já está publicada em outra Mesa, ou falta permissão na Mesa.

Como confirmar: a mensagem diz qual dos casos.

Conserto: ver Publicar e clonar um Dataflow.