Dataflow Streaming não está identificando tabelas existentes - erro tableNotExists
Description
Debate do tema
Slack thread: https://totvsideia.slack.com/archives/C03LA7B048G/p1739451192126169
Detalhes do problema
Foi identificado um erro ao enviar dados para a staging table semrastreiogerencial na tenant receitarecorrente (dc677a11ffd54758a52103ddaaf4d733). Apesar da tabela estar provisionada corretamente e disponível para consulta no BigQuery, os dados não estão sendo entregues. O erro reportado no step do processamento de intake é BIGQUERY_CUSTOMER_WRITER_ERROR, com a mensagem "tableNotExists". O problema ocorre de maneira intermitente e afeta diferentes tenants.
Evidências Coletadas:
-
A tabela foi criada corretamente via
pycarole está acessível paraSELECTno BigQuery:SELECT * FROM `carol-dc677a11ffd54758a52103ddaaf4d733.ingestion_stg_semrastreio_semrastreiogerencial` -
O payload de teste foi recebido com sucesso na landing table:
SELECT *FROM `labs-app-mdm-production.intake.records_landing`WHERE publish_time >= '2025-02-13'AND tenantid = 'dc677a11ffd54758a52103ddaaf4d733'AND stagingtype = 'semrastreiogerencial'AND auditId = '3909e62b016ed123'ORDER BY publish_time DESC; -
No processamento de steps, o erro
BIGQUERY_CUSTOMER_WRITER_ERRORé registrado comresponseMessage: "tableNotExists":SELECT *FROM `labs-app-mdm-production.intake.records_steps`WHERE publish_time >= '2025-02-13'AND auditId = '3909e62b016ed123'ORDER BY publish_time DESC; -
Outras tenants com o mesmo erro:
SELECT tenantId, STRING_AGG(DISTINCT stagingtype, ', '), COUNT(0) AS count_errorsFROM `labs-app-mdm-production.intake.records_steps`WHERE publish_time >= '2025-02-10'AND step = 'BIGQUERY_CUSTOMER_WRITER_ERROR'AND JSON_VALUE(attributes, '$.responseMessage') = 'tableNotExists'GROUP BY 1ORDER BY 3 DESC; -
Testes adicionais com outras tabelas semelhantes indicam que algumas funcionam corretamente, enquanto outras apresentam o mesmo erro:
-
newsrg: Recebeu dados corretamente. -
pycarolcreatedsemrastreiogerencial,teste_carol,sem_rastreio_gerencial_v2,srg,sem_rastreio_gerencial: Apresentaram falha.
-
-
Após um período, a inserção na mesma tabela passou a funcionar normalmente, sem nenhuma ação aparente para corrigir o problema:
AuditId = 8e9e6dfa6c2f0996 (inserção bem-sucedida às 15h35 do dia 13/02/2025) -
Exemplos: Staging
semrastreiogerencialfoi criada no dia 12/Fev porém o auditIdeb185139477f290cenviado no dia 13/Fev (horas depois) recebeu o mesmo erro. O mesmo ocorreu com a tabelasrg, auditiddc6c773c28aea342.
Impacto:
-
Atualmente, não detectamos impactos no projeto
Gesplan, mas impede o progresso do projeto deReceita Recorrente do CST, impossibilitando a inserção de dados na Carol. -
O problema ocorre de forma intermitente, dificultando a confiabilidade do intake de dados.
-
Diversas tenants podem passar pelo cenário
-
Critérios de Aceite
-
Identificar causa raiz do cenário para correção e garantir inserção dos dados processados pelo Dataflow Streaming.