[Observability] Create observability for Data Subscriptions on Webhook calls
Description
CAPL - Story default text according to the team DoR (Definition of Ready)
01 - STAKEHOLDER (PERSON THAT CAN VALIDATE AND ANSWER QUESTIONS):
@Robson Thanael Poffo @Geny Isam Hamud Herrera
02 - PROBLEM (WHAT'S THE CURRENT PROBLEM SCENARIO OR PAIN TO BE RESOLVED?):
There is no observability on Data Subscriptions.
03 - GOAL (DESCRIBE THE PROPOSED SOLUTION):
Implement observability for message sending results to the client API (Webhook) via data subscriptions.
04 - WHO CAN USE THIS FEATURE (USER ROLES):
05 - ASSETS (FIGMA LINKS, RELEVANT DOCUMENTATION LINKS, JSON EXAMPLES, ETC):
[https://app.diagrams.net/#G17KwizRMdAEAhub4eLbJM7Qd2dLl3ArwJ#
{"pageId"%3A"P5QgfGy95CxJD6P_-USK"}|https://app.diagrams.net/#G17KwizRMdAEAhub4eLbJM7Qd2dLl3ArwJ#%7B%22pageId%22%3A%22P5QgfGy95CxJD6P_-USK%22%7D]
06 - ACCEPTANCE CRITERIA:
- All processed records should be produced to PubSub topic grouped by batchIds on Data Flow
- All Data Subscription message sent to client API must be sent to Smartlink, where:
- The organization is properly enabled for Observability; and
- The data processed has batchId attached.
Bom dia pessoal. Testes concluidos pelo time de produto. Favor atualizar a branch com o revert do
Mensagem editada no Slack - plataforma-carol-internal - Douglas Coimbra Lopes
Bom dia pessoal. Testes concluidos pelo time de produto. Favor atualizar a branch com o reverto do
Mensagem enviada pelo Slack - plataforma-carol-internal - Douglas Coimbra Lopes
Esta issue foi automaticamente movida para TESTED & MERGED, pois o PR foi mergeado na branch Develop no Github. PR aprovado por rfschroeder,rfschroeder,douglascoimbra.
Github usuário douglascoimbra aprovou um PR e foi adicionado como Shared Assignee nesta issue.
feat: https://totvsideia.atlassian.net/browse/CAPL-5473#icft=CAPL-5473 observability create observability for data subscriptions on webhook calls
@Gabriel DAmore Marciano @Reinaldo Oliveira Machado Junior @Douglas Coimbra Lopes @Renan Schroeder Testes finalizados com sucesso evidências abaixo.
Problema Atual
Atualmente não há eventos de observabilidade para Subscrição de Dados.
Comportamento Esperado:
Criar eventos de observabilidade para Data Subscription nas chamadas de webhook padrão, mas não criar eventos de envio de dados nas chamadas de webhook de data subscription
Passos para Reprodução
[x] Enviar um summary
[x] Enviar um batch para stg
PurchaseOrder
[x] Executar a pipeline
purchaseorder_main
[x] Checar os eventos de observabilidade
[x] Checar os eventos de subscrição
Comportamento Apresentado:
FALHA
Eventos de Observabilidade de Intake
Eventos de Observabilidade de Summary
Task de Processamento SQL
Eventos de Observabilidade Data Subscription
Eventos de envio do Data Subscription
(não foi gerado evento após nova execução do pipeline as 18h53, depois de novo checkout com as alterações no parâmetro para FALSE)
Problema Atual
Atualmente não há eventos de observabilidade para Subscrição de Dados.
Comportamento Esperado:
Não criar eventos de observabilidade para Data Subscription nas chamadas de webhook padrão. Apenas nas chamadas do webhook para envio da subscrição.
Passos para Reprodução
[x] Enviar um dados sem batch para as STGs
Product
ePurchaserOrder
[x] Executar a pipeline
newfarhorizon_main
via endpoint/processQuery
pelo postman[x] Checar os eventos de observabilidade
[x] Checar os eventos de subscrição
Comportamento Apresentado:
SUCESSO
Nenhum evento de Observabilidade de Intake criado na data de hoje
Task de Processamento SQL
Gerado apenas evento de Observabilidade de Data Subscription na data de hoje
Eventos de envio do Data Subscription
Problema Atual
Atualmente não há eventos de observabilidade para Subscrição de Dados.
Comportamento Esperado:
Não criar eventos de observabilidade para Data Subscription nas chamadas de webhook padrão. Apenas nas chamadas do webhook para envio da subscrição.
Passos para Reprodução
[x] Enviar um dados sem batch para as STGs
Product
ePurchaserOrder
[x] Configurar Data Subscription para o DM
FarHorizon
[x] Executar a pipeline
newfarhorizon_main
[x] Checar os eventos de observabilidade
[x] Checar os eventos de subscrição
Comportamento Apresentado:
SUCESSO
Nenhum evento de Observabilidade de Intake criado na data de hoje
Task de Processamento SQL
Nenhum evento de Observabilidade de Summary, Pipeline e Data Subscription criado na data de hoje
Eventos de envio do Data Subscription
Problema Atual
Atualmente não há eventos de observabilidade para Subscrição de Dados.
Comportamento Esperado:
Criar eventos de observabilidade para Data Subscription nas chamadas de webhook
Passos para Reprodução
[x] Configurar webhook padrão para observabilidade de eventos
[x] Configurar novo webhook de data subscription no data model
[x] Alterar no manifesto a pipeline
newunifproduct_main
para utilizar o parâmetro"useBatchNotification": true
[x] Alterar no manifesto a pipeline
newfarhorizon_main
para utilizar o parâmetro"useBatchNotification": false
[x] Alterar no manifesto a pipeline
purchaseorder_main
para utilizar o parâmetro“sendToSubscriptions": false
[x] Enviar um summary
[x] Enviar um batch
[x] Executar a pipeline
[x] Checar os eventos de observabilidade
[x] Checar os eventos de subscrição
Comportamento Apresentado: SUCESSO
Eventos de Observabilidade de Intake
Eventos de Observabilidade de Summary
Task de Processamento SQL
Eventos de Observabilidade Data Subscription
Eventos de envio do Data Subscription
Próximos cenários a serem validados:
Cenário 2. Eficiência Genérica
Cenário 3. Eficiência Genérica via Orquestrador
Cenário 4. Sem envio de Subscrição
(sendToSubscription = FALSE)
Esta issue foi automaticamente movimentada para QA REVIEW, pois o PR foi aprovado no Github.
. KT Compartihado com time de produto. Qualquer duvida estamos a disposicao. Assim que a gravacao estiver disponivel, colocarei no card.
• Refinei o how to test com as evidencias das validacoes do nosso KT. cc
Mensagem enviada pelo Slack - back-end - Douglas Coimbra Lopes
Flag added
Waiting stakeholder test.
Voltado ao card , nao consegui replicar o cenario do data subscription para ORCHESTRATOR. Sendo assim, seguirei com os testes. cc
Mensagem editada no Slack - plataforma-carol-internal - Douglas Coimbra Lopes
Voltado ao card , nao consegui replicar o cenario do data subscription para ORCHESTRATOR. Sendo assim, seguirei com os testes.
Estou investigando um cenario de um batch reaberto de TIMEOUT onde nao estou conseguindo reprocessar os registros, mesmo com batch em READY. BAtch `devBatch /` sandbox `armorking`
Mensagem enviada pelo Slack - plataforma-carol-internal - Douglas Coimbra Lopes
@Renan Schroeder ,
@Reinaldo Oliveira Machado Junior , @Douglas Coimbra Lopes , @Gabriel DAmore Marciano , @Renan Schroeder
Flag foi removida, pois você acabou de alterar o status desta issue.
:rotating_light:Confirmado . As msgs de pubsub sao entregues para o DM via Orchestrator para batch, mas nao para otimizacao generica
• Ja foi confirmado que na `develop` o bug nao acontece
•
Mensagem editada no Slack - plataforma-carol-internal - Douglas Coimbra Lopes
Confirmado . As msgs de pubsub sao entregues para o DM via Orchestrator para batch, mas nao para otimizacao generica
• Ja foi confirmado que na `develop` o bug nao acontece
•
Mensagem enviada pelo Slack - plataforma-carol-internal - Douglas Coimbra Lopes
ORCHESTRATOR BATCHES
@Renan Schroeder ,
@Jonathan Willian Moraes , @Reinaldo Oliveira Machado Junior , @Douglas Coimbra Lopes , @Gabriel DAmore Marciano , @Renan Schroeder
This issue was planned to be delivered until 2024-04-15. You can check that by consulting the issue in the Due Date field.
Dates already planned for this issue: 2024-04-15, 2024-03-01, 2024-03-25
If External Issue Link field is filled, customer was also informed on JIRA TOTVS.
Github user reinaldomjr has just commited and issue was sent back to the REVIEW column.
This issue was automatically transitioned to QA REVIEW, as its PR was just approved in Github.
Como solicitado pelo time de SmartLink, foi adicionado um campo “subscriptionName" no payload da mensagem.
SUBSCRIPTION NAME
Testes finalizados frente a observabilidade (fluxo de batch)
• Cenaros de data subscription OK para dev + unificada. Abertos 2 cards de produto
• Automacao em andamento
• Serah testado a otimizacao generica uma vez que o card estiver na `develop` e o PR for atualizado com a holder branch
Mensagem editada no Slack - plataforma-carol-internal - Douglas Coimbra Lopes
Testes finalizados frente a observabilidade (fluxo de batch)
• Automacao em andamento
• Serah testado a otimizacao generica uma vez que o card estiver na `develop` e o PR for atualizado com a holder branch
Mensagem enviada pelo Slack - plataforma-carol-internal - Douglas Coimbra Lopes
@Reinaldo Oliveira Machado Junior BATCH CUSTOMER PROCESSING the BATCH UNIFPAUSE
DM WITH THE SUBSCRIPTION PAUSED CORRECTLY NOT SENDING MESSAGES
@Reinaldo Oliveira Machado Junior BATCH CUSTOMER PROCESSING the BATCH UNIFPAUSE
DM WITH THE SUBSCRIPTION PAUSED CORRECTLY NOT SENDING MESSAGES
SANDBOX: https://totvsmedkasus.qarol.ai/finalkustomer/carol-ui/datamodels/mdmpurchaseorder
:rotating_light: Cenario encontrado no .
• Caso tenhamos um datamodel com subscription paused, e durante o processamento do batch o mesmo for “despausado” (resumed), o datamodel nao esta recebendo os records no pubsub + evento de subscription.
• Sandbox e Evidencias no card.
• batch: `unifPause`
Mensagem enviada pelo Slack - plataforma-carol-internal - Douglas Coimbra Lopes
:rotating_light: Cenario identificado no .
• O DM da tenant customer recebe as msg de pubsub do data subscription, o batch eh encerrado como COMPLETED, porem o evento de CarolDataModelSubscription nao foi entregue para o batch
• batch: `customerBatch`
• Sandbox + Evidencias no card
Mensagem editada no Slack - plataforma-carol-internal - Douglas Coimbra Lopes
:rotating_light: Cenario identificado no .
• O DM da tenant customer recebe as msg de pubsub do data subscription, o batch eh encerrado como COMPLETED, porem o evento de CarolDataModelSubscription nao foi entregue para o batch
• batch: `customerBatch`
• Sandbox + Envidencias no card
Mensagem editada no Slack - plataforma-carol-internal - Douglas Coimbra Lopes
@Reinaldo Oliveira Machado Junior O Batch eh encerrado, o DM recebe as msg de pub-sub, porem o evento de datasubcription nao eh entregue
https://totvsnashvilleqa.qarol.ai/unififinaldoug/carol-ui/tasks/activity/6c4f612e-29a8-4b76-83a2-f5b759dc9136?p=1&ps=25&sort=dateUpdated&order=DESC&filters=%5B%7B%22hideInternal%22:%22false%22%7D%5D
DM PubSub Webhook: https://webhook.site/#!/view/f3f27391-f625-4ce4-b7fa-ba950b95e24a/9b59cca7-bfa2-44c4-bb19-fb3ffc0d5c35/1
BATCH STATUS
BASE DE DADOS SEM O EVENTO DE SUBSCRIPTION ENTREGUE
:rotating_light: Cenario identificado no .
• O DM da tenant customer recebe as msg de pubsub do data subscription, o batch eh encerrado como COMPLETED, porem o evento de CarolDataModelSubscription nao ofi entregue para o batch
• batch: `customerBatch`
• Sandbox + Envidencias no card
Mensagem editada no Slack - plataforma-carol-internal - Douglas Coimbra Lopes
Scenario identificado no .
• O DM da tenant customer recebe as msg de pubsub do data subscription, o batch eh encerrado como COMPLETED, porem o evento de CarolDataModelSubscription nao ofi entregue para o batch
• batch: `customerBatch`
Mensagem enviada pelo Slack - plataforma-carol-internal - Douglas Coimbra Lopes
@Renan Schroeder ,
@Reinaldo Oliveira Machado Junior , @Douglas Coimbra Lopes , @Gabriel DAmore Marciano , @Renan Schroeder
Flag was removed since you have just transitioned the issue status/column.
TIMEOUT PROCESSED BACTH RECEIVING PUB SUB MESSAGES
DM SUBSCRIPTION
:rotating_light: . Cenario encontrado conforme conversamos em meeting: A task de CarolPipelineExecutionSummary eh finalizada na plataforma, porem nenhum evento eh entregue./atualizado na base.
• Sandbox + evidencias no card.
• Scenario ocorre para Batches em TIMEOUT PROCESSED
• :white_check_mark: *Jah confirmado que na develop o comportamento Nao acontece * (evidencia develop abaixo)
•
Edited on Slack - plataforma-carol-internal - Douglas Coimbra Lopes
@Reinaldo Oliveira Machado Junior O batch em Timeout uma vez processado, a task de summary CarolPipelineExecutionSummary eh finalizada na platforma, porem nenhum evento eh entregue /atualizado na base
sandbox: https://totvsxombatkano.qarol.ai/newtenantdoug/carol-ui/tasks/activity/c2a35985-15d9-43c2-98e8-bc18a220b599?p=1&ps=25&sort=dateUpdated&order=DESC&filters=%5B%7B%22hideInternal%22:%22false%22%7D,%7B%22taskType%22:%5B%22CAROL_PIPELINES_EXECUTION_SUMMARY%22%5D%7D%5D
TIMEOUT PROCESSED BACTH RECEIVING PUB SUB MESSAGES
DM SUBSCRIPTION
:rotating_light: . Cenario encontrado conforme conversamos em meeting: A task de CarolPipelineExecutionSummary eh finalizada na plataforma, porem nenhum evento eh entregue./atualizado na base.
• Scenario ocorre para Batches em TIMEOUT PROCESSED
• :white_check_mark: *Jah confirmado que na develop o comportamento Nao acontece * (evidencia develop abaixo)
•
Edited on Slack - plataforma-carol-internal - Douglas Coimbra Lopes
. Cenario encontrado conversamos conversamos em meeting: A task de CarolPipelineExecutionSummary eh finalizada na plataforma, porem nenhum evento eh entregue./atualizado na base.
• Scenario ocorre para Batches em TIMEOUT PROCESSED
• :white_check_mark: *Jah confirmado que na develop o comportamento Nao acontece * (evidencia develop abaixo)
•
Sent by Slack - plataforma-carol-internal - Douglas Coimbra Lopes
Github user reinaldomjr has just commited and issue was sent back to the REVIEW column.
This issue was automatically transitioned to QA REVIEW, as its PR was just approved in Github.
@Renan Schroeder ,
@Gabriel DAmore Marciano , @Reinaldo Oliveira Machado Junior , @Douglas Coimbra Lopes , @Gabriel DAmore Marciano , @Renan Schroeder
Flag was removed since you have just transitioned the issue status/column.
@Reinaldo Oliveira Machado Junior DataModel recebe a msg do pubsub + novo evento, porem o state aparece como FAILURE
sandbox: https://totvsopenheymmer.qarol.ai/newtenantdoug/carol-ui/tasks/activity/69610ae1-2836-49c2-8e4e-0450ee6ecc01?p=1&ps=25&sort=dateUpdated&order=DESC&filters=%5B%7B%22hideInternal%22:%22false%22%7D,%7B%22taskStatus%22:%5B%22RUNNING%22%5D%7D%5D
:rotating_light: Cenario encontrado qdo um datamodel recebe um evento de data subcription. O evento CarolDatamodelSubscription esta vindo com state failure, mesmo o datamodel recebendo a msg do pubsub corretamente.
• Evidencias + sandbox no card
Sent by Slack - plataforma-carol-internal - Douglas Coimbra Lopes
@Renan Schroeder @Reinaldo Oliveira Machado Junior Segue a gravacao do topico repotado: https://drive.google.com/open?id=1HFLCnGjrTZHJ2lFcXjQF0vowZ08NUyE6
cc @Gabriel DAmore Marciano
Refiz os testes na develop e no card .
• :rotating_light: Apenas na branch do os records nao estao sendo reprocessados pela plataforma para batches PARTIAL ou reabertos.
• Sandbox do teste disponivel no card
• :white_check_mark: Jah confirmado que na develop funciona corretamente ()
Edited on Slack - plataforma-carol-internal - Douglas Coimbra Lopes
Refiz os testes na develop e no card .
• :rotating_light: Apenas na branch do os records nao estao sendo reprocessados pela plataforma para batches PARTIAL ou reabertos.
• :white_check_mark: Jah confirmado que na develop funciona corretamente ()
Edited on Slack - plataforma-carol-internal - Douglas Coimbra Lopes
@Reinaldo Oliveira Machado Junior Os registros nao sao processados pela plataforma para batches Partial & Reabertos
Configurar sandbox para observabilidade
Criar carol app
Enviar dados para um batch
Nao o summary para forcar o timeout
SCENARIO: Os records nao estao sendo processados
SANDBOX: https://totvsreynaldus.qarol.ai/newrynesswv/carol-ui/tasks/activity/edab7a8ff776412a8174de7b569022e4?p=1&ps=25&sort=dateUpdated&order=DESC&filters=%5B%7B%22hideInternal%22:%22false%22%7D,%7B%22processedRecords%22:%5B%22notIsEmpty%22%5D%7D%5D
Refiz os testes na develop e no card .
• :rotating_light: Apenas na branch do os records nao estao sendo reprocessados pela plataforma para batches PARTIAL ou reabertos.
• Jah confirmado que na develop funciona corretamente ()
Edited on Slack - plataforma-carol-internal - Douglas Coimbra Lopes
Refiz os testes na develop e no card .
• Apenas na branch do os records nao estao sendo reprocessados pela plataforma para batches PARTIAL ou reabertos.
• Jah confirmado que na develop funciona corretamente ()
Edited on Slack - plataforma-carol-internal - Douglas Coimbra Lopes
Refiz os testes na develop e no card . Apenas na branch do
Sent by Slack - plataforma-carol-internal - Douglas Coimbra Lopes
O problema relatado sobre registros nao processados para batches PARTIAL jah ocorre na develop. Vou seguir os testes no . Abrindo card apartado para o tema. cc
Sent by Slack - plataforma-carol-internal - Douglas Coimbra Lopes
@Reinaldo Oliveira Machado Junior When a batch is reopened, its records are not reprocessed by the platform
Steps
Create a dev and a unified tenant
Create a new Carol app and attach it to the unified tenant
Add a git repo to the carol app
Send records with batch ID + batch sequence
Do not send the summary to update its status to TIMEOUT_PROCESSED
Send the summary from the Timed Out batch
Check the batch reopened
Check that the records will not be reprocessed for. the reopened batch
:rotating_light: Bug revalidado na develop. porem lah o cenario nao foi reproduzido. Soh replica-se o cenario no .
• Scenario: Uma vez em status PARTIAL (Batch status TIMEOUT_PROCESSING) o os dados nao estao sendo reprocessados pela plataforma uma vez que o batch eh reaberto
• Print de eviidencia da da develop de que batch reaberto esta reprocessando dados :white_check_mark:
• Sandbox com bug:
• pipeline: `newunifproduct_main`
Edited on Slack - platform-internal - Douglas Coimbra Lopes
:rotating_light: Bug revalidado na develop. porem lah o cenario nao foi reproduzido. Soh replica-se o cenario no .
• Scenario: Uma vez em status PARTIAL (Batch status TIMEOUT_PROCESSING) o os dados nao estao sendo reprocessados pela plataforma uma vez que o batch eh reaberto
• Evidencia da da develop de que batch reaberto esta reprocessando dados :white_check_mark:
• Sandbox com bug:
• pipeline: `newunifproduct_main`
Edited on Slack - platform-internal - Douglas Coimbra Lopes
:rotating_light: Bug revalidado na develop. porem lah o cenario nao foi reproduzido. Soh replica-se o cenario no .
• Scenario: Uma vez em status PARTIAL (Batch status TIMEOUT_PROCESSING) o os dados nao estao sendo reprocessados pela plataforma uma vez que o batch eh reaberto
• Evidencia da da develop de que batch reaberto esta reprocessando dados :white_check_mark:
• Sandbox como bug:
Edited on Slack - platform-internal - Douglas Coimbra Lopes
:rotating_light: Bug revalidado na develop. porem lah o cenario nao foi reproduzido. Soh replica-se o cenario no .
• Scenario: Uma vez em status PARTIAL (Batch status TIMEOUT_PROCESSING) o os dados nao estao sendo reprocessados pela plataforma.
• Evidencia da da develop de que batch reaberto esta reprocessando dados :white_check_mark:
• Sandbox como bug:
Sent by Slack - platform-internal - Douglas Coimbra Lopes
@Renan Schroeder ,
@Pedro Buzzi , @Reinaldo Oliveira Machado Junior , @Douglas Coimbra Lopes , @Gabriel DAmore Marciano , @Renan Schroeder
This issue was planned to be delivered until 2024-03-25. You can check that by consulting the issue in the Due Date field.
Dates already planned for this issue: 2024-03-01, 2024-03-25
If External Issue Link field is filled, customer was also informed on JIRA TOTVS.
This issue was automatically transitioned to REVIEW, as its PR (not DRAFT and not WIP) was just created in Github.
feat: https://totvslabs.atlassian.net/browse/CAPL-5473#icft=CAPL-5473 observability create observability for data subscriptions on webhook calls
@Renan Schroeder ,
@Gabriel DAmore Marciano ,
@Geny Isam Hamud Herrera ,
This issue was planned to be delivered until 2024-03-04. You can check that by consulting the issue in the Due Date field.
Dates already planned for this issue: 2024-03-04
If External Issue Link field is filled, customer was also informed on JIRA TOTVS.