Skip to main content

CAPL_4.17

· 19 min read
TOTVS Inteligência de Dados

🚀 Melhorias

BILLING CAPL-6574 Corrige problema de exibição e contagem de tenants eliminadas no processo de billing

O problema das tenants eliminadas que não são exibidas ou contadas no processo de billing do mês vigente é resolvido. A questão se origina da falta de consideração dos apps e da organização da tenant durante o processo de billing. A relação entre algumas tenants e a distribuição pelo app instalado é agora corrigida, garantindo que a atribuição direta pelo tenantName funcione corretamente mesmo após a eliminação da tenant.

BILLING CAPL-6891 Atualiza a coleta de custos dos slots do billing para melhorar a precisão dos cálculos

A coleta de custos relacionada aos slots do billing é atualizada para melhorar a precisão dos cálculos. A nova pipeline considera o custo total do GCP, combinando totalSlotCostOnDemand e totalSlotCostShared, e utiliza realCostOnDemand e realCostShared na finalização. A estrutura da tabela original é preservada através de várias inner queries, garantindo que os dados sejam corretamente agrupados por projectId, tenantName e dia. A atualização também prepara a pipeline para retornar a divisão de recursos no billing para os contratos de slots on-demand e shared.

CAROL_APP CAPL-7561 Implementa funcionalidade de trim no unified ao criar ou editar Carol App

Implementa a funcionalidade de trim no unified ao criar ou editar um Carol App. Essa melhoria garante que espaços em branco sejam removidos automaticamente dos campos de entrada, promovendo a consistência dos dados e evitando possíveis erros de formatação. O ajuste contribui para uma melhor experiência do usuário e otimiza o gerenciamento de informações no sistema.

CONNECTOR CAPL-7162 Revisa local de reprovisionamento de entidades e altera fluxo de confirmação

O local de reprovisionamento de entidades é revisado. Não é mais possível reprovisionar entidades diretamente através do dropdown. O reprovisionamento agora é realizado nas configurações, onde é necessário confirmar a ação em dois níveis, digitando o nome da entidade para prosseguir.

CONNECTOR CAPL-7250 Aumenta o TTL dos caches para mitigar erros de quota exceeded no GCP

Identificamos erros de "quota exceeded" no GCP durante a execução da pipeline CDS ao consultar a existência da tabela staging no BigQuery. A análise inicial não revela políticas de retry que possam estar causando limites de quota artificialmente. Consideramos que o volume de intake pode estar atingindo os limites de quota. Para mitigar isso, propomos aumentar o TTL dos caches ou implementar outras estratégias de consulta. Uma política de alerta foi criada para monitorar a recorrência desse erro, que pode ter causado perda de dados.

CONNECTOR CAPL-7517 Remove a funcionalidade de criação de atributos nested e object na staging pela UI

A funcionalidade de criação de atributos nested e object na staging pela UI é removida. Essa mudança visa simplificar o processo e evitar confusões na manipulação de dados. Usuários com perfis apropriados podem agora operar sem a opção de criar esses atributos, garantindo um fluxo mais claro e eficiente. A atualização não altera outras funcionalidades existentes na interface.

CONNECTOR CAPL-7583 Corrige a paginação nos records da staging para operar de forma consistente

A paginação nos records da staging não funciona corretamente, pois ao acessar a segunda página, um novo query é realizado com page = 1 no query_polling. Em comparação, na Tenant de frontend, ao mudar a página, um novo query_polling é enviado com a página correta. É necessário entender e corrigir a situação da Tenant da staging para garantir que a paginação opere de forma consistente.

DATA_MODEL CAPL-6644 Implementa descrição de data models para integração com Mandalore

Implementa a funcionalidade que permite informar a descrição de data models, facilitando a integração com Mandalore. Essa melhoria otimiza o processo de documentação e entendimento dos modelos de dados utilizados no sistema.

DATA_MODEL CAPL-7020 Remove a funcionalidade de consolidação de Data Models e Staging Tables

A funcionalidade de consolidação (CDS) de Data Models e Staging Tables é removida. A API permanece disponível para cenários especiais, mas a consolidação não é mais suportada. Não há gravação de dados no CDS para Data Models, e para Staging Tables, não há armazenamento de CDS File, resultando em consolidações integrais em vez de apenas dos arquivos recebidos recentemente.

DATA_SUBSCRIPTION CAPL-7412 Adiciona filtros no dashboard para os campos taskId e pipelineName na tabela de system_logs

A nova atualização adiciona filtros no dashboard para os campos taskId e pipelineName, que são utilizados na nova tabela de system_logs. Esses filtros permitem que os usuários verifiquem registros enviados por task e por pipeline, agregando valor ao negócio. As visualizações na tabela são atualizadas para incluir essas novas dimensões, melhorando a experiência do usuário.

DATA_SUBSCRIPTION CAPL-7482 Revisa a UI do passo commit picker no Pipelines e migra para a nova tabela de system_logs com campos taskId e pipelineName

A revisão da UI do passo commit picker no Pipelines inclui a migração para a nova tabela de system_logs, que agora possui os campos taskId e pipelineName. Esses campos permitem a clusterização da view materializada, facilitando a verificação de registros enviados por task e por pipeline, agregando valor ao negócio. Além disso, são adicionadas visualizações na tabela e filtros que incorporam essas novas dimensões no dashboard.

EXPLORE CAPL-7188 Adiciona dicas de filtros para partição e clusters no Explorer e na Staging Area

O Explorer e a Staging Area agora mostram dicas de filtros para o uso de partição e clusters. Os usuários recebem orientação visual sobre partições, com a Staging Area utilizando sempre ingestionDateTime e o Explorer com padrão ingestionDateTime, configurável no Data Model. Para clusters, a Staging Area utiliza sempre tenantID, enquanto o Explorer e o Data Model mantêm o padrão tenantID, também configurável no Data Model.

EXPLORE CAPL-7510 Melhora a estabilidade do cache RC_QUERY_RESULTS e otimiza o uso de Named Queries

A revisão do cache RC_QUERY_RESULTS identifica e analisa problemas de alto uso de memória, com picos de mais de 2GB em Redis. A análise das Named Queries no Elasticsearch revela valores de mdmCacheRevalidationTimeInSeconds superiores a 4 horas, indicando armazenamento excessivo de dados no cache. O objetivo é implementar melhorias na estabilidade do cache, incluindo a definição de um limite máximo para mdmCacheRevalidationTimeInSeconds e a limitação da quantidade de resultados por execução de query, visando otimizar o uso de Named Queries sem impactar os clientes.

ORGANIZATION/TENANT CAPL-7061 Habilita e desabilita o 2FA para usuários na plataforma Carol

O recurso de habilitação e desabilitação do 2FA está disponível para usuários na plataforma Carol. Agora, os usuários podem ativar o 2FA de forma global para todas as organizações e tenants, garantindo que o login ocorra como anteriormente para aqueles que não habilitaram o recurso. Quando o 2FA está ativado, o login solicita a autenticação adicional. Os usuários têm a opção de habilitar o 2FA, exibindo um QR Code, e também podem desabilitar o recurso, que requer o código 2FA para inativação.

ORGANIZATION/TENANT CAPL-7485 Corrige problemas na habilitação do 2FA na CAROL

A funcionalidade de habilitação do 2FA na CAROL apresenta problemas, pois o código gerado ao escanear o QR Code retorna mensagens de erro durante a validação. O usuário enfrenta dificuldades ao tentar ativar o 2FA, evidenciando a necessidade de correções na implementação deste recurso. As mensagens de erro exibidas na CAROL indicam que a autenticação não está sendo concluída com sucesso, comprometendo a segurança do acesso. A equipe deve investigar e resolver essa falha para garantir o funcionamento adequado do 2FA.

PLATAFORMA_IDEIA CAPL-7490 Sanitiza e escapa entradas de HTML para evitar execução de scripts maliciosos e implementa Content Security Policy

Realiza a sanitização e escape adequado das entradas de HTML para evitar a execução de scripts maliciosos. Implementa Content Security Policy (CSP) e validação de dados no lado do servidor para mitigar a execução de código não autorizado. Essas melhorias aumentam a segurança da aplicação contra ataques de injeção de HTML.

PLATAFORMA_IDEIA CAPL-7492 Implementa filtragem e escape de entradas do usuário para mitigar risco de XSS refletido

Implementa a filtragem e escape adequado de entradas fornecidas pelo usuário para mitigar o risco de XSS refletido. Utiliza políticas como Content Security Policy (CSP) para reduzir os riscos de execução de código não autorizado. Valida e sanitiza entradas no lado do servidor antes de refletir qualquer dado na resposta, aumentando a segurança da aplicação.

PLATFORM CAPL-7486 Adiciona campo auditId como array no sistema de log para mensurar tempo total da esteira do dado

Adiciona-se o campo auditId como um array no sistema de log, permitindo que o time de DE mensure o tempo total da esteira do dado, desde a ingestão até a saída para o endpoint do cliente via Data Subscription. Essa implementação facilita o acompanhamento do progresso da evolução da plataforma, proporcionando uma visão clara do tempo de chegada do registro e do tempo de saída utilizando o auditId como chave.

PLATFORM CAPL-7548 Criar novas métricas de Observabilidade do Smartlink para eventos gerados pela plataforma

São criadas novas métricas de Observabilidade do Smartlink para cada tipo de evento gerado pela plataforma. As métricas incluem CarolIntakeReceived, CarolPipelineExecuted, CarolSummaryValidated, CarolDataModelSubscriptionSent e CarolPipelinesExecutionSummary, cada uma com suas respectivas labels como Organization, Tenant, BatchId, Pipeline, Task, DataModel, State, GoldenRecords e RejectedRecords. Essas métricas visam ajudar na identificação de possíveis problemas relacionados às melhorias em SQL Efficiency e Observabilidade.

SQL_PIPELINES CAPL-7170 Permite disparar execução de pipelines SQL imediatamente após conclusão de outra pipeline

O processamento de pipelines SQL agora permite disparar a execução de outras pipelines imediatamente após a conclusão de uma pipeline. Essa funcionalidade cria dependências de execução, simplificando o sequenciamento das tarefas. As novas tasks são geradas automaticamente, mantendo a referência da task pai e injetando variáveis necessárias, como o nome da tabela temporária. Além disso, o usuário pode desativar essa funcionalidade diretamente na especificação da pipeline. O VSCode também é compatibilizado para reconhecer a nova notação do manifesto de pipelines.

SQL_PIPELINES CAPL-7312 Orquestrador ignora execução de pipelines desnecessárias e adiciona nova flag para controle

O Orquestrador agora ignora a execução de pipelines que não necessitam ser processadas, como aquelas que informam as stagings para cópia ao unificado. Uma nova flag é adicionada, permitindo que o usuário defina se a pipeline deve ser executada ou não. O valor padrão permanece verdadeiro, garantindo que as pipelines continuem a ser executadas para não impactar os apps que já utilizam o orquestrador. Essa melhoria evita execuções desnecessárias e otimiza o fluxo de trabalho.

SQL_PIPELINES CAPL-7400 O agente otimiza a eficiência de pipelines SQL com iterações e métricas

O agente para otimização de eficiência de pipelines SQL promove iterações visando melhorar o desempenho. As ações incluem a geração de métricas para entender o uso e a eficiência, armazenando dados como data/hora de execução, usuário e informações contextuais. O agente otimiza os pipelines, retornando orientações de ajustes e integrando-se com IDE (VSCode) e o fluxo de checkout. Além disso, implementa sugestões diretamente na pipeline original, visando maximizar a eficiência dos processos.

SQL_PIPELINES CAPL-7401 Otima iterações no agente para pipelines SQL e adiciona ação de otimização no VSCode

Promove iterações no agente para otimização de pipelines SQL, incluindo recomendações de performance e uma nova pipeline com eficiência aplicada. No VSCode, adiciona uma nova ação "Run SQL Optimization" e um atalho para otimizar consultas usando o Carol AI Agent. Durante o checkout, permite a seleção de "Check for optimization", exibindo detalhes do agente e resumos de otimização para cada pipeline, com ícones que indicam melhorias encontradas. As alterações impactam os tenants DEV e UNIF.

VSCODE CAPL-6723 Adiciona header userAgent nas requests para a Carol com formato carol-vscode/versão

Adiciona o header userAgent nas requests para a Carol, utilizando o formato "carol-vscode/versão". Essa implementação garante que as requisições identifiquem corretamente a origem, melhorando o rastreamento e a análise das interações no sistema.

🐛 Correções

ACTIVITY_MANAGEMENT CAPL-7402 Corrige o filtro do carol-api-ui para não exibir tasks que não processaram dados

O filtro do carol-api-ui apresenta um problema ao buscar tasks, exibindo aquelas que não processaram dados, mesmo quando o filtro "Process Records" está definido como não vazio. Isso ocorre ao criar pipelines, staging e datamodels para SQL Processing e enviar dados. A task que não processou registros ainda aparece na busca no Activity Management, comprometendo a precisão dos resultados. A correção deste comportamento é essencial para garantir que apenas as tasks relevantes sejam retornadas na consulta.

BIG_QUERY CAPL-7479 Otimiza o processo de consolidação para garantir conclusão dentro do tempo planejado

As consolidações realizadas às sextas-feiras apresentam um tempo de conclusão superior ao esperado, causando conflitos com tarefas de processamento de clientes relacionadas a mudanças de esquema. Este atraso resulta em tarefas presas por longos períodos, impactando negativamente a experiência do usuário com a performance da plataforma. A otimização do processo de consolidação visa garantir que as operações sejam finalizadas dentro da janela de tempo planejada, especialmente nos finais de semana.

CAROL_APP CAPL-7466 Corrige duplicação de timestamp da tenant DEV na staging table da tenant unificada após instalação do Carol App

O problema identificado ocorre após a instalação do Carol App, onde o mdmCreated da staging table na tenant unificada apresenta o mesmo timestamp da tenant de desenvolvimento. Ao criar uma staging table na tenant DEV e instalar o app, o mdmCreated deveria refletir o horário da criação na tenant unificada, mas isso não acontece, resultando na duplicação do timestamp da tenant DEV. A correção desse comportamento é necessária para garantir a integridade dos dados nas diferentes tenants.

CAROL_APP CAPL-7526 Resolve problema de instalação do Carol App com unsubscribe falhando

Resolve o problema de instalação do Carol App, onde a tentativa de unsubscribe falha, resultando em uma task que não termina. O erro indica que o usuário se desinscreveu do aplicativo Carol, mas não o publicou antes de tentar se inscrever novamente. O registro correspondente não é encontrado no tenant, causando a falha. A situação é monitorada através dos logs disponíveis e do thread no Slack para acompanhamento.

CONNECTOR CAPL-6864 Corrige problema de duplicidade nas staging tables por connectorID e nome da staging table

Identificamos um problema de duplicidade nas staging tables, que ocorre por connectorID e nome da staging table. A consulta SQL revela que há múltiplas entradas para os mesmos identificadores, o que pode impactar a integridade dos dados. Medidas estão sendo tomadas para resolver essa questão e garantir a unicidade das entradas nas staging tables. A situação está sendo monitorada para evitar recorrências futuras.

CONNECTOR CAPL-7407 Identifica falhas na publicação de registros no NATS durante análise de subida de dados TCloud para a Carol em 6 clientes da techfin

Identificadas falhas na publicação de registros no NATS durante a análise de subida de dados TCloud para a Carol em 6 clientes da techfin. Os logs da GCP revelam problemas como mensagens acima de 80mb, mudanças de schema pendentes, schemas não encontrados e dados incorretos. A análise sugere que a falta de flexibilidade na staging table e o cache podem estar contribuindo para erros. A correção dos cenários relacionados a mudanças de schema pendentes é essencial para garantir a estabilidade e as metas de Zero Data Loss.

CONNECTOR CAPL-7520 Corrige erro de acesso direto ao link de uma staging que indica que a staging não existe

Acesso direto ao link de uma staging apresenta erro, indicando que a staging não existe, apesar de estar disponível no ambiente. O problema ocorre ao tentar acessar links específicos, como o exemplo fornecido.

DATAFLOW CAPL-7220 Corrige perda de dados devido a KeyCommitTooLargeException na tenant tenant527fbabb93d74b73bffa2f1a43ba5793

Erros do tipo "KeyCommitTooLargeException" causam perda de dados para a tenant "tenant527fbabb93d74b73bffa2f1a43ba5793" entre 10 e 12 de fevereiro de 2025, afetando o app Gesplan. A gravação de dados no GCS falha, e o processo de reprovisionamento não recupera 12.092.295 registros perdidos. As falhas iniciam em 20 de janeiro de 2025 e continuam até a data atual. Um deploy referente a ajustes no Dataflow Streaming ocorre na mesma data, e esforços para resolver a issue estão sendo identificados.

DATAFLOW CAPL-7414 Corrige falhas na ingestão de dados durante a análise da subida de dados TCloud para a Carol em 6 clientes da techfin

Identificamos falhas na ingestão de dados durante a análise da subida de dados TCloud para a Carol em 6 clientes da techfin, afetando as metas de Zero Data Loss e Estabilização. A causa raiz do erro, relacionada à execução de trabalho para computação, foi identificada, e logs de erro do Dataflow Streaming foram analisados. A solução proposta visa resolver essas falhas e garantir que não ocorram novas ocorrências relacionadas à causa identificada.

DATAFLOW CAPL-7416 Corrige problema de NPE na checagem de tabelas no DataFlow Cache para estabilizar subida de dados TCloud

Identificamos e solucionamos um problema de NPE durante a checagem da existência de tabelas no DataFlow Cache, que afetou a subida de dados TCloud para a Carol em seis clientes da techfin. As falhas nos logs da GCP comprometeram as metas de Zero Data Loss e Estabilização da Carol. A análise dos registros revelou causas como "Read timed out" e "Exceeded rate limits". A correção implementada visa eliminar as ocorrências desses erros e garantir a estabilidade do sistema.

DATA_PROCESSING CAPL-7501 Corrige travamentos no processo de cópia de dados que afeta a execução por mais de 6 horas

O processo de cópia de dados apresenta travamentos, com alguns processos sendo executados por mais de 6 horas. A análise revela que a cópia de certas tabelas foi concluída, enquanto outras permanecem travadas no estado INIT. Medidas corretivas estão sendo avaliadas para resolver essa situação.

EXPLORE, PLATFORM CAPL-7026 Melhora a visibilidade das tabelas do Shared Data no Carol Explorer

As tabelas do Shared Data estão agora disponíveis corretamente, sendo exibidas como tabelas Shared Data em vez de Others no Carol Explorer. Isso melhora a visibilidade e a organização das informações, facilitando o acesso aos dados compartilhados pelos usuários.

EXPLORE CAPL-7357 Corrige erro de tipo de dado BYTES no endpoint query_polling da tabela tibi_receitarecorrente_bit_dim_centro_custo

O endpoint query_polling apresenta erro ao retornar o tipo de dado BYTES na tabela carol-727824b9f1d241cca579.727824b9f1d241cca5791dc18df16b9c.tibi_receitarecorrente_bit_dim_centro_custo, criada na tenant https://totvstechfin.carol.ai/totvstibi. O campo HASH_COMPARACAO, que funciona corretamente no BigQuery, gera um TypeError: Object of type bytes is not JSON serializable ao ser consultado na UI. A plataforma não permite a criação de campos do tipo bytes, e a compatibilização é necessária para dados externos.

SHARED_DATA CAPL-7358 Corrige problema de criação de shared data na plataforma Carol relacionado ao case das tabelas no BigQuery

O problema de criação de shared data na plataforma Carol, que gerava uma exception no BigQuery devido à aplicação de lowercase em tabelas com caracteres variados, foi corrigido. Agora, o sistema não altera o case dos nomes das tabelas no SQL, garantindo que o BigQuery encontre as referências corretamente. A solução foi implementada diretamente no projeto, assegurando que a criação de data shares seja resiliente ao case das tabelas. Testes demonstram que a nova abordagem resolve a questão sem erros.

SQL_PIPELINES CAPL-7410 Corrige erro ao referenciar commit anterior em tenant unificada

O aplicativo apresenta um erro ao referenciar um commit anterior, mesmo quando todas as stagings e datamodels estão corretos na tenant. O erro, que se origina de uma regra de negócio, é corrigido ao atualizar a página. O problema ocorre após a instalação do app em uma tenant unificada e a tentativa de checkout de uma pipeline inválida, seguida por um checkout de um commit que corrige a situação.

SQL_PIPELINES CAPL-7433 Atualiza a referência de arquivos no git para caminho absoluto

A referência de arquivos no git agora é absoluta, em vez de relativa. Ao fazer o checkout da pipeline, os arquivos referenciados pelo metadado são acessados com o caminho absoluto, conforme a alteração realizada no card CAPL-7368. Essa mudança altera o comportamento e resolve problemas de checkout em algumas pipelines.

TENANT_ADMIN CAPL-6718 Corrige filtro por status na tela de listagem de usuários da tenant

O filtro por status na tela que lista os usuários da tenant foi corrigido. Anteriormente, ao aplicar o filtro para usuários inativos, o sistema não retornava os resultados esperados, mostrando 0 inativos, mesmo com 4.057 usuários inativos cadastrados. Agora, o sistema apresenta corretamente os usuários inativos ao aplicar o filtro. Essa melhoria garante que os usuários possam visualizar todos os estados de status de forma precisa na interface.

VSCODE CAPL-6780 Corrige o campo send real time enviado como false na extensão do VSCODE na Plataforma Carol

A extensão do VSCODE na Plataforma Carol apresenta um problema durante o processamento do pipeline, onde o campo send real time é enviado como false. Isso resulta na falha de propagação de dados para a camada RT, afetando a comunicação com o backoffice. A equipe de produto está avaliando a situação para implementar uma solução.

VSCODE CAPL-7491 Corrige comportamento inesperado na criação da task SQL pelo VSCode em ambiente dev

A criação da task SQL pelo VSCode em ambiente dev apresenta um comportamento inesperado ao executar a task Clear BigQuery Customer. Apesar da task ser criada com sucesso, a limpeza do Data Model não ocorre e os dados são inseridos devido às configurações do ambiente unificado. A flag sentTo.unified=true resulta na persistência de dados, enquanto a flag clear.unified=false impede a limpeza do Data Model. A expectativa é que não haja persistência de dados no BQ e que a limpeza do Data Model seja realizada.

VSCODE CAPL-7502 Melhora o fluxo de otimização SQL na task Clear BigQuery Customer no ambiente dev

Melhorias no fluxo de otimização SQL são implementadas para a task Clear BigQuery Customer no ambiente dev. O comportamento anterior, que resultava na persistência de dados em vez da limpeza do Data Model, é corrigido. Agora, as opções no painel de processamento possuem valor padrão FALSE, garantindo que as flags sendToBigQueryCustomer, sendToBigQueryUnified, clearBigQueryCustomer e clearBigQueryUnified sejam enviadas corretamente no endpoint para a Carol. Essa alteração assegura que a limpeza do Data Model ocorra conforme esperado.

VSCODE CAPL-7533 1. Disponibiliza ação de otimizar SQL na tela de falha de execução da query 2. Corrige limpeza do Data Model na task Clear BigQuery Customer em ambiente dev 3. Atualiza opções no painel de processamento com valores padrão FALSE 4. Alinha comportamento do

A ação de otimizar SQL agora está disponível na tela de falha de execução da query, permitindo uma melhor gestão de erros. Durante a execução da task Clear BigQuery Customer em ambiente dev, a limpeza do Data Model não ocorre como esperado, resultando na persistência de dados. As opções no painel de processamento foram atualizadas com valores padrão FALSE, garantindo que as flags sejam enviadas corretamente no endpoint para a Carol. Essa melhoria visa alinhar o comportamento do ambiente dev com as expectativas de operação.