Problema em mensagens PUB/SUB relacionada com a formatação JSON
Description
CAPL - Internal Support default text according to the team DoR (Definition of Ready)
1 - DESCRIBE THE ISSUE YOU'RE HAVING:
Ambiente exemplo.
Estamos tentando identificar a causa raiz do problema que ocorreu com as mensagens PUB/SUB de forma geral, em várias tenants e DM’s diferentes com muita frequência. (https://console.cloud.google.com/logs/query;query="Failed to encode Latin1";cursorTimestamp=2024-03-16T01:40:21.548245349Z;startTime=2024-03-13T20:04:32.515Z;endTime=2024-03-16T01:44:32.515Z?project=labs-app-mdm-production&folder=true&organizationId=567051164134&pli=1). A primeira ocorrência foi 2024-03-15 18:55:19.003 e a última foi 2024-03-19 14:00:03.561. O erro é
{"ack":false,"redeliverRecordIds":null,"message":"Failed to encode Latin1"}.
Exemplo do payload em anexo.
Abaixo o retorno da tratativa do app da mensagem com erro.
Nos logs tem um tratamento da mensagem com retorno 201.
insertId: "2konxgdtyzmg9dut"jsonPayload: {
logger: "com.totvslabs.mdm.worker.handler.pubsub.SubscriptionMessageReceiver"message: "Response of webhook 6897e54abbe64129b46c8c5906cab05c (arinvoicepayments) for tenant 392be9edcdf842599db8c866edf7bc51 - https://fmscash.tab1784.k8s.us-central1.gcp.tks.sh/carol-sync/api/v2/push, message id: 10714064227089103 returned 201 - Created - 96231ms - {"ack":false,"redeliverRecordIds":null,"message":"Failed to encode Latin1"}. Golden IDs[ Total: 10 Inserted: 7 Deleted: 3 InsertedIds: [558dad00e63a57b25c962361df3a473d, f68dab51cb1caa9967b8b1873b478c24, 94d7f1f78391a6e26fcd08e89555d99e, 485cd509584b0cebe723d4990a924cdb, 2e875573ab9ba505f27a401c00a0f3ee, 2ad41e208601ce4b9bd971664212c790, 1414af83b543796c5a3225322774547d] DeletedIds [6c15da5a9b836773c2dfefa4f197fbed, 00c58b6ffd01e7c5eb0cdd4cfa03d2eb, 23f594103b2a47df19bb55cbb0d15d34]]. Trial #1. "messageId: "10714064227089103"sourceLocation: {
file: "com/totvslabs/mdm/worker/handler/pubsub/SubscriptionMessageReceiver.java"function: "com.totvslabs.mdm.worker.handler.pubsub.SubscriptionMessageReceiver.receiveMessage"line: 319
}thread: "sub-group-antecipa-19"timestamp: "2024-03-18T17:35:53.607Z"totalTime: "96231"
}labels: {
compute.googleapis.com/resource_name: "gke-prod-mdm-1-mdm-workers-pubsub-pre-1cee17fe-24jx"k8s-pod/app_kubernetes_io/component: "worker"k8s-pod/app_kubernetes_io/instance: "worker-pubsub"k8s-pod/app_kubernetes_io/name: "worker"k8s-pod/app_kubernetes_io/version: "481eb96094"k8s-pod/pod-template-hash: "b5d9cddf9"
}logName: "projects/labs-app-mdm-production/logs/stdout"receiveTimestamp: "2024-03-18T17:35:54.930369433Z"resource: {
labels: {
cluster_name: "prod-mdm-1"container_name: "worker"location: "us-central1"namespace_name: "mdm"pod_name: "worker-pubsub-b5d9cddf9-pzkv6"project_id: "labs-app-mdm-production"
}type: "k8s_container"
}severity: "INFO"timestamp: "2024-03-18T17:35:53.607514743Z"
Apesar de ter esse tratamento acima com 201 (
{"ack":false,"redeliverRecordIds":null,"message":"Failed to encode Latin1"})
O json estava “quebrado”, sem formatação correta, faltando alguns simbolos. Tem exemplos do payload em https://jiraproducao.totvs.com.br/secure/attachment/2289998/2289998_PAYLOG_XAVIER_ERRO_2.json.
Foi algum incidente ou atualização causou o problema nesse período? A ideia é trabalhar um retorno para o questionamento do cliente sobre a causa raiz.
2 - DESCRIBE ALTERNATIVES YOU CONSIDERED: <text>
3 - ADD AS MUCH CONTEXT AS POSSIBLE (LINKS, SLACK CONVERSATIONS, SCREENSHOTS, ETC): <text>
4- Comportamento esperado
- Mensagem distribuída com Json válido.
Esta issue foi automaticamente movida para WAITING DEPLOY, pois o PR foi mergeado na branch master no Github.
Github usuário douglascoimbra aprovou um PR e foi adicionado como Shared Assignee nesta issue.
fix: https://totvsiddia.atlassian.net/browse/CAPL-5698#icft=CAPL-5698 - Update fastjson to avoid json errors and security issues
Esta issue foi automaticamente movimentada para QA REVIEW, pois o PR foi aprovado no Github.
• Card validado pelo time de QA. Pendente apenas o code review.
Mensagem enviada pelo Slack - plataforma-carol-internal - Douglas Coimbra Lopes
Esta issue foi automaticamente movimentada para REVIEW, pois o PR (não DRAFT e não WIP) foi criado no Github.
fix: https://totvslabs.atlassian.net/browse/CAPL-5698#icft=CAPL-5698 - Update fastjson to avoid json errors and security issues
@MARCOS STUMPF ,
@Geny Isam Hamud Herrera ,
Esta issue foi planejada para ser entregue até 2024-04-15. Você pode confirmar consultando o campo Due Date desta issue.
Datas já planejadas para esta issue: 2024-04-15
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.
Link para a thread da mensagem no Slack canal #plataforma-red-phone:
https://totvscarol.slack.com/archives/C03NT4US9J9/p1711476944226379