Observabilidade: propagação do evento CarolPipelinesExecutionSummary não considera todas os eventos de CarolPipelineExecuted

Description

Pontos de contato


  • Furtado
  • Robson

Problema


O batchID “16798280332042169d515f4bf3a40052-protheus-1721402659“ teve uma série de propagação dos evento de “CarolPipelineExecuted“ conforme observado abaixo:

image-20240723-234328.png

Query acima: “Query para listar todos os eventos de um batchID”. Essa query filtra por batchID, pipeline e Data Model Name.

Observamos que o evento “CarolPipelinesExecutionSummary“ possui zero registros no seu pacote.

Entendemos que isso deve estar relacionado ao fato que na tabela “pipeline_process“ foi registrado apenas uma task para o batchID, e no caso acima, tivemos várias tasks executando o mesmo batchID, o que pode ocorrer em ambientes unificados principalmente quando o batchID ainda está aberto recebendo dados e temos tasks processando o batchID em questão.

Na query na tabela “pipeline_process“ notamos que apenas uma task foi vinculada ao batchID, e o evento summary considerou os registros processados apenas por essa task:

image-20240723-235041.png

select *
from pipeline_process pp
inner join pipeline p on replace(p.id::text,'-','') = replace(pp.pipeline_id::text,'-','')
where batch_id = '16798280332042169d515f4bf3a40052-protheus-1721402659'
and p.carol_app_name = 'gesplanprotheusfree'
and pipeline_name = 'freecontaspagarprevisto'

Criterio de Aceite


O evento “CarolPipelinesExecutionSummary“ deve considerar todos os registros gerado por todos os eventos até o momento (registrados na imagem aicma pelos eventos “CarolPipelineExecuted“).

Sugestão para investigação


  • Mapear o job do BQ que gerou o evento de “CarolPipelinesExecutionSummary

Queries


Query para listar todos os eventos de um batchID:

select
    row_number() over(order by tmp) as row,
    *
from (
    -- Executed
    select
        created,
        event_type,
        null as messageId,
        carolTaskId,
        dataModelName,
        goldenRecordCount + rejectedRecordCount as recordsCount,
        batch_id,
        pipe,
        'a' origem,
        tmp
    from (
        select
            created,
            event_type,
            payload->>'taskId' as carolTaskId,
            payload->>'dataModelName' as dataModelName,
            (payload->>'goldenRecordCount')::int as goldenRecordCount,
            (payload->>'rejectedRecordCount')::int as rejectedRecordCount,
            batch_id,
            payload->>'pipelineName' as pipe,
            payload->>'timestamp' as tmp
--            , *
        from
            observability_event
        where
            batch_id = '16798280332042169d515f4bf3a40052-protheus-1721402659'
            and event_type = 'CarolPipelineExecuted'
            and payload->>'dataModelName' = 'freecontaspagarprevisto'
    ) as ee
    
    union all

    -- Summary
    select
        created,
        event_type,
        null as messageId,
        null as carolTaskId,
        dataModelName,
        goldenRecordCount + rejectedRecordCount as recordsCount,
        batch_id,
        pipe,
        'b' origem,
        tmp
    from (
        select
            e.created,
            e.event_type,
            d->>'dataModelName' as dataModelName,
            (d->>'goldenRecordCount')::int as goldenRecordCount,
            (d->>'rejectedRecordCount')::int as rejectedRecordCount,
            e.batch_id,
            '' as pipe,
            payload->>'timestamp' as tmp
        from
            observability_event as e,
            jsonb_array_elements(e.payload->'dataModels') as d
        where
            e.batch_id = '16798280332042169d515f4bf3a40052-protheus-1721402659'
            and e.event_type = 'CarolPipelinesExecutionSummary'
            and e.payload->>'appName' = 'gesplanprotheusfree'
            and e.payload->>'tenantId' = '158ee83a4c964aeab890bb8cf29a5952'
            and d->>'dataModelName' = 'freecontaspagarprevisto'
    ) as es
    
    union all
    
    -- Sent
    select
        created,
        event_type,
        payload->>'messageId' as messageId,
        payload->>'taskId' as carolTaskId,
        payload->>'dataModelName' as dataModelName,
        (payload->>'recordsCount')::int as recordsCount,
        batch_id,
        '' as pipe,
        'c' origem,
        payload->>'timestamp' as tmp
    from
        observability_event
    where
        batch_id = '16798280332042169d515f4bf3a40052-protheus-1721402659'
        and event_type in  ('CarolDataModelSubscriptionSent')
        and payload->>'appName' = 'gesplanprotheusfree'
        and payload->>'tenantId' = '158ee83a4c964aeab890bb8cf29a5952'
        and payload->>'dataModelName' = 'freecontaspagarprevisto'
) as r
order by
    tmp

Activity

Automation for Jira 20 August 2024, 20:39 Jira Internal Users

Valor anterior do campo deployment date era 2024-08-20T17:49:00.0+0000. Parece ter ocorrido um novo deploy nesta issue - deploy.

Automation for Jira 20 August 2024, 20:39 Jira Internal Users

Ocorreu o deploy em Produção.

Automation for Jira 20 August 2024, 19:13 Jira Internal Users

Foi realizado o commit.

Automation for Jira 20 August 2024, 17:49 Jira Internal Users

Ocorreu o deploy em Produção. Issue movimentada para Done.

Nenhuma issue associada no Jira Produção.

Automation for Jira 20 August 2024, 17:49 Jira Internal Users

Foi realizado o commit.

Automation for Jira 19 August 2024, 18:11 Jira Internal Users

Foi realizado o commit.

Automation for Jira 19 August 2024, 18:11 Jira Internal Users

Esta issue teve o seu status alterado, pois ocorreu o merge da branch CAPL-6409 na branch develop.

Automation for Jira 15 August 2024, 17:41 Jira Internal Users

Foi aprovado o PR.

Automation for Jira 15 August 2024, 16:54 Jira Internal Users

Esta issue teve o seu status alterado, pois foi aprovado o PR.

Automation for Jira 13 August 2024, 20:37 Jira Internal Users

Foi criado o PR.

Automation for Jira 13 August 2024, 20:25 Jira Internal Users

Foi realizado o commit.

Automation for Jira 13 August 2024, 20:25 Jira Internal Users

Esta issue teve o seu status alterado, pois foi criada a branch sem a sigla WIP no nome.

Automation for Jira 2 August 2024, 20:18 Jira Internal Users

@Robson Thanael Poffo ,
@Renan Fernando Schroeder ,

Este issue foi planejada para ser entregue até 2024-09-27. Você pode confirmar consultando o campo Due Date desta issue.

Data já planejadas para esta issue: 2024-09-27

Se o campo External Issue Link estiver preenchido com o link de uma issue válida no Jira Produção o cliente também será notificado no Jira Produção.