[Dataflow] Registros podem ser perdidos de forma silenciosa
Description
Críticos (perda de mensagem/batch inteiro):
• PubsubMessageToCarolRecordsTransform.java:113 — tenant não provisionado para BQ → mensagem inteira descartada (log WARN, sem audit step)
• PubsubMessageToCarolRecordsTransform.java:133 — todos os registros falham no parse → retorno silencioso (log DEBUG)
• CarolStagingParquetWriter.java:573 — schema cache não encontrado → batch inteiro descartado (log DEBUG, invisível em produção)
• CarolStagingParquetWriter.java:591 — schema holder nulo → batch inteiro descartado (log WARN)
• CarolStagingParquetWriter.java:654 — lista de registros vazia após conversão → batch descartado (log INFO)
Altos (perda por registro sem auditoria):
• PubsubMessageToCarolRecordsTransform.java:241 — exceção no parse de registro individual (marcado como TODO para implementar audit)
• PubsubMessageToCarolRecordsTransform.java:282 — exceção no parse de crosswalk (marcado como TODO para implementar audit)
• PubsubMessageToCarolRecordsTransform.java:314 — tenant unificado desabilitado para BQ → continue silencioso, sem log
• PubsubMessageToCarolRecordsTransform.java:323 — connector/tabela não correspondem → continue silencioso, sem log
• ReplicateRecordsKVToUnifiedTenantsFn.java:136 — filtro de tenant unificado → registros descartados sem log
• CarolStagingParquetWriter.java:507 — exceção no output para BQ → exceção engolida silenciosamente