Skip to main content

· 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.

· 4 min read
TOTVS Inteligência de Dados

🚀 Melhorias

DATAFLOW CAPL-6876 Descontinua jobs Staging para processamento eficiente de dados no Dataflow.

Entender o motivo das métricas de processamento antigo ainda estarem presentes no Dataflow Staging. Atualmente, os jobs Staging estão consumindo recursos sem processar dados de forma eficiente. Com a mudança para o processamento SQL, foram descontinuados os jobs Staging e alinhado a remoção das Subscriptions com o SRE.

PLATFORM CAPL-7399 Administrador do tenant ativa ou desativa deduplicação durante ingestão de dados

O sistema agora permite que o administrador do tenant ative ou desative a deduplicação durante o processo de ingestão de dados. Essa mudança garante que o número de registros enviados via intake seja refletido de maneira idêntica na tenant cliente e unificada, independentemente das PKs definidas. A deduplicação será realizada no processo de consolidação semanal, permitindo que os registros sejam geridos de acordo com suas respectivas PKs nas tenants.

PLATFORM CAPL-7447 Permite ingestão de dados sem deduplicação ativa por tenant e organização

Agora é possível realizar a ingestão de dados sem a deduplicação ativa, através da nova flag a nível de tenant e organização. Isso resolve a divergência de dados entre a tenant cliente e a unificada, permitindo que o número de registros enviados via intake seja refletido em ambas, independentemente das PKs definidas. Se a deduplicação estiver habilitada a nível de tenant, não haverá consolidação no intake, e o mesmo se aplica para a organização, onde a configuração da organização prevalece sobre a da tenant. O comportamento padrão continua com a consolidação ativa.

🐛 Correções

CONNECTOR CAPL-6867 Corrige NPE no método StagingSchemaServiceImplV2.validateSchemaMappingTypes e previne criação de Staging Schema sem mapping

O problema de NPE (Null Pointer Exception) no método StagingSchemaServiceImplV2.validateSchemaMappingTypes foi identificado e corrigido. O sistema agora não permite a criação de uma Staging Schema sem um mapping, evitando a propagação de erros nos métodos updateEntitySynchronizationStatus e validateSchemaMappingTypes. Essa atualização garante maior estabilidade e integridade no processamento de dados, prevenindo falhas durante a sincronização de entidades no BigQuery.

CONNECTOR CAPL-7291 Exceção de tamanho de mensagem excedido ao processar payloads no IntakeServiceImpl

O sistema apresenta uma exceção de tamanho de mensagem excedido ao processar payloads, resultando em uma StreamConstraintsException devido ao comprimento da string ultrapassar o limite permitido. A falha ocorre durante a deserialização no IntakeServiceImpl, especificamente na criação de dados de intake na StagingIntakeResource. A situação gera alertas no Alert Manager, indicando a necessidade de otimização no tratamento de dados, que foram realizados para evitar problemas semelhantes no futuro.

DATA_SUBSCRIPTION CAPL-7318 Corrige a criação automática do tópico no PubSub ao criar um Data Subscription

Ao criar um Data Subscription, o sistema não está gerando um tópico no PubSub conforme esperado. Não há registros nos logs que indiquem o problema. A funcionalidade foi corrigida para garantir a criação automática do tópico durante o processo de criação do Data Subscription.

ORGANIZATION/TENANT CAPL-7382 Resolve problema de solicitação do código de MFA em acesso via sessão incognito

O problema em que o código de MFA não é solicitado em alguns cenários de acesso via sessão incognito é resolvido. Agora, mesmo com o MFA habilitado para o usuário global, o código é solicitado corretamente no primeiro acesso, garantindo segurança adequada. A funcionalidade é ajustada para que o comportamento esperado ocorra em todos os acessos, melhorando a experiência do usuário.

ORGANIZATION/TENANT CAPL-7467 Endpoint retorna 200 ao alterar mdmStagingType de staging table em vez de erro esperado

Ao tentar alterar o mdmStagingType de uma staging table, o endpoint retorna 200, o que não é o comportamento esperado, pois nenhuma task de notification schema é gerada e o mdmBigQuerySynchronizationStatus é alterado para FAILED_TO_SYNC. O endpoint deve retornar um erro em vez de 200, indicando que a operação não foi bem-sucedida. Correção realizada para garantir que o status correto seja retornado durante a atualização do schema.

PLATFORM CAPL-7230 Corrige erro de localização do schema da staging table no GCS e emite alerta de nível WARNING

Foi identificado um erro frequente relacionado à não localização do schema da staging table no GCS, especificamente quando a cópia de dados de uma tenant Customer para uma tenant Unified falha devido à inexistência da tabela na tenant Unified. O objetivo é mapear as causas desse problema e garantir que, ao invés de gerar uma exception, um alerta de nível WARNING seja emitido, permitindo que o fluxo de inserção de dados via streaming prossiga sem interrupções.

· 6 min read
TOTVS Inteligência de Dados

🚀 Melhorias

BILLING CAPL-7323 Ajusta comportamento dos filtros salvos no módulo de billing para usuários com permissão restrita

O comportamento dos filtros salvos no módulo de billing é ajustado para usuários com permissão restrita em billing account. Agora, esses usuários conseguem visualizar e interagir com as opções dentro dos filtros salvos, permitindo a seleção individual de tenants ou outros critérios. As permissões continuam a respeitar os níveis de acesso configurados, garantindo que a funcionalidade de seleção dos dados disponíveis no filtro não seja limitada. Essa melhoria proporciona uma experiência mais flexível e intuitiva para todos os usuários.

DATAFLOW CAPL-6885 Habilita autoSharding para escrita de registros de staging no CdsFlowPipeline

Habilita-se a funcionalidade de autoSharding para a escrita de registros de staging por STREAMING_INSERTS no CdsFlowPipeline. Essa implementação visa aumentar o throughput, garantindo que o processamento seja compartilhado de maneira mais uniforme entre todos os workers da pipeline. A configuração autoSharding=true é aplicada na escrita de BigQuery, melhorando a eficiência do sistema. Essa mudança otimiza a performance e a escalabilidade do processamento de dados.

EXPLORE CAPL-7189 Implementa exibição de jobs em execução na UI com informações detalhadas

A exibição de jobs em execução na UI foi implementada, permitindo que os usuários visualizem as queries ativas e acompanhem seu progresso. Agora, é possível ver o usuário que iniciou a execução e cancelar jobs diretamente pela interface. A listagem inclui informações como ID do job, status, tempo de execução e usuário responsável. Além disso, um refresh periódico atualiza o histórico, e para jobs concluídos, é possível navegar para o execution plan. As permissões e regras de acesso do BigQuery são respeitadas ao permitir o cancelamento de jobs.

EXPLORE CAPL-7297 Desenvolve nova lista de jobs do BQ com painel lateral

Desenvolve uma nova lista de jobs do BQ com um painel lateral. A consulta SQL obtém dados relevantes, incluindo tempos de criação, início e duração, além de informações sobre erros e estado do job. Ajusta as labels do Execution Plan para manter um padrão consistente, renomeando "Creation Time" para "Created", "Elapsed time" para "Query duration" e "Slot time consumed" para "Slot usage".

EXPLORE CAPL-7309 Identifica problema no Query Editor ao clicar e não escrever a query

Resolvido o problema no Query Editor, onde ao clicar, a query não é escrita no Editor e o board aparece vazio. O erro ocorria ao acessar o Explore, escolher um Data Model e clicar no Query Editor.

ORGANIZATION_ADMIN CAPL-7273 Limita a execução paralela de tasks CREATE_TENANT a 10 por ORG

Limita a execução paralela de tasks do tipo CREATE_TENANT a nível de ORG para um máximo de 10. Essa mudança permite um melhor controle sobre a criação de Tenants, garantindo que o sistema mantenha um desempenho adequado durante a execução dessas tarefas. A implementação considera a possibilidade de ajustes futuros através de parâmetros configuráveis.

PLATFORM CAPL-6878 Investiga problema de tempo de execução excessivo nas tasks Carol Pipelines Execution Summary

Identificado um problema com o tempo de execução das tasks do tipo Carol Pipelines Execution Summary, que apresenta durações excessivas, chegando a horas sem motivo aparente. Em casos específicos, o tempo total das tasks chega a 1:56 horas e 2:22 horas, apesar do tempo de execução real ser de apenas 1 segundo, com waiting times de 11 e 16 minutos. Situação revisada para otimizar o desempenho e reduzir a latência nas execuções.

🐛 Correções

CONNECTOR CAPL-7287 Identifica instabilidades na gravação de dados com erro de Bad Gateway ao acessar o Elasticsearch

Foram identificadas e resolvidas instabilidades na gravação de dados, resultando em falhas intermitentes mesmo com resposta 200. O problema está relacionado a um erro de "Bad Gateway" ao tentar acessar o Elasticsearch.

DATA_SUBSCRIPTION CAPL-7306 Corrige a exibição dos dados de data subscription na visão de ORG

A visão de ORG não exibe os dados de data subscription conforme esperado. O problema requer redimensionamento da UI para forçar a carga do último painel, o que indica uma falha na atualização automática dos dados. A questão impacta a visualização e a usabilidade, correção realizada para garantir que as informações sejam apresentadas corretamente.

EXPLORE, SHARED_DATA CAPL-7307 Corrige problema de renderização do código da query no Query Editor do Shared Data

A navegação para o Query Editor no Shared Data apresenta um problema onde, ao clicar no link da query, o usuário é redirecionado, mas não ocorre a renderização do código da query na tela. A correção realizada visa garantir que, ao abrir o editor, o código da query seja exibido corretamente, assim como já acontece quando o editor é acessado a partir da página de registros de uma staging.

ORGANIZATION_ADMIN CAPL-7347 Identifica problema de atribuição de acesso para usuários em tenant recém-criada

O problema de atribuição de acesso para usuários em uma tenant recém-criada é identificado. O erro ocorre devido a uma ForeignKeyNotFoundException, indicando que a chave estrangeira não é atendida. Correção realizada para atribuir os acessos normalmente.

ORGANIZATION/TENANT CAPL-7385 Erro ao ativar ou desativar o MFA para Business User na Carol

Ao tentar ativar ou desativar o MFA para um Business User na Carol, uma mensagem de erro é exibida. O problema ocorre após convidar um usuário, registrá-lo na Carol, ativar o MFA, escanear o QR Code, preencher o código na auth tool e clicar em Update. O mesmo erro se repete ao tentar desativar o MFA. Situação corrigida.

SQL_PIPELINES CAPL-7178 "Resolução de problema de criação de tasks de processamento SQL com erro 503"

Problema resolvido: Endpoint que cria tasks de processamento SQL retornando 503 devido a um possível erro do coachbase. O impacto era que algumas tasks de processamento lançadas pelo orquestrador não estavam sendo criadas. A plataforma identificou o fator gerador do 503 e aplicou um fix para evitar esse tipo de erro. O orquestrador agora é resiliente a esse tipo de erro, realizando uma nova tentativa segundos depois.

SQL_PIPELINES CAPL-7340 Corrige problema de sensibilização por eventos que não considera registro para processamento na task SQL

Identificou-se um problema em que a sensibilização por eventos está habilitada, mas não considera um registro para processamento na task SQL. O caso ocorreu no Tenant com ID 998d205f2c1f43518473151e98cb3ac9 e o registro específico não foi processado conforme esperado. As investigações revelam detalhes sobre o Staging e o Pipeline envolvidos. Logs e consultas SQL estão disponíveis para análise adicional do que ocorreu durante o processamento.

SQL_PIPELINES CAPL-7353 Correção na criação de Scheduled Tasks para pipelines com nomes iguais de apps diferentes

Scheduled Tasks de pipelines com nomes iguais de apps diferentes não estão sendo criadas. A base de dados só cria a Scheduled task para o primeiro app que configura pipelines. Chamadas ao endpoint {{/v1/carolApps/<appId>/pipelines}} estão duplicadas. Um app tem a listagem correta de pipelines, enquanto o outro retorna apenas 1 pipeline. A instalação do CarolApp deve criar scheduled tasks para todas as pipelines. O endpoint /v1/carolApps/<appId>/pipelines deve retornar todas as pipelines do app.

· 4 min read
TOTVS Inteligência de Dados

🚀 Melhorias

PLATFORM CAPL-7168 Implementa estratégia de circuit breaker na ingestão de dados para prevenir requisições de PUT mappings em caso de erro

Implementa-se uma estratégia de circuit breaker na ingestão de dados para prevenir que o MDM continue enviando requisições de PUT mappings para o ES em casos de erro. Essa solução visa detectar automaticamente a degradação do ES ou PG, reduzindo a vazão de requisições e evitando a sobrecarga que pode levar à instabilidade da API. Com essa abordagem, a plataforma consegue se recuperar de falhas sem comprometer o desempenho geral. Essa mudança contribui para uma maior robustez do sistema e a estabilidade das operações.

🐛 Correções

BIG_QUERY CAPL-7163 Investiga problemas de provisionamento do BigQuery na tenant backofficeinsightsunif

O incidente DAEN-6177 relata um problema no provisionamento do BigQuery na tenant "backofficeinsightsunif", que ficou em execução por aproximadamente 4 dias e 22 horas, gerando erros relacionados à cópia de dados e à ausência de um schema específico. Durante a análise, observam-se mensagens de eliminação de entidades e a recriação de 156 tabelas no início da task. É necessário investigar os motivos da eliminação e criação das tabelas, o travamento da task e a referência a um connectorID que não está mais em uso.

CONNECTOR CAPL-7034 Desativa escrita de StagingSchema em ElasticSearch após migração de dados e executa Sanity Check

Desativa a escrita de StagingSchema em ElasticSearch após a migração dos dados realizada no card CAPL-6868. Um Sanity Check é executado para garantir a integridade dos registros. Após a validação, o endpoint de entityMigrated é chamado para oficializar a migração para o postgres, completando assim o processo de desativação da escrita.

DATA_SUBSCRIPTION CAPL-7130 Problema intermitente na localização de subscriptions em tasks de processamento SQL

Problema intermitente na localização de subscriptions em tasks de processamento SQL

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.

PLATFORM CAPL-7027 Exibe corretamente as tabelas do Shared Data e organiza as entidades nos grupos apropriados

Exibe corretamente as tabelas do Shared Data e organiza as entidades nos grupos apropriados

PLATFORM CAPL-7218 Erro intermitente na inserção de dados na staging table semrastreiogerencial devido a tableNotExists

O Dataflow Streaming apresenta um erro intermitente ao tentar inserir dados na staging table semrastreiogerencial, resultando na mensagem "tableNotExists". Apesar da tabela estar corretamente provisionada e acessível no BigQuery, a entrega de dados falha em diferentes tenants, impactando o progresso do projeto de Receita Recorrente do CST. A investigação busca identificar a causa raiz para garantir a inserção confiável dos dados processados. A situação exige atenção para evitar recorrências e assegurar a integridade do intake de dados.

SQL_PIPELINES CAPL-6860 Ajusta configuração do pipeline para gerar dados no Data Model nos ambientes de desenvolvimento e unificado

Após a migração para a versão 2.0 do pipeline, o sistema não gera dados no Data Model nos ambientes de desenvolvimento e unificado. A configuração utilizada nos pipelines inclui "fanOut" como false e "unified" como true para o BigQuery. É necessário ajustar essa configuração para garantir que os dados sejam gerados corretamente nos ambientes desejados. A situação é classificada como média, pois não impacta o ambiente produtivo nem possui impacto financeiro direto.

TENANT_ADMIN CAPL-7210 Corrige o filtro de usuários para exibir apenas usuários ativos

O filtro de usuários apresenta um problema ao não filtrar corretamente por status. Ao selecionar a opção de visualizar apenas usuários ativos, ainda são exibidos usuários inativos. A correção deste erro é necessária para garantir que o filtro funcione conforme esperado.

· 5 min read
TOTVS Inteligência de Dados

🚀 Melhorias

ACTIVITY_MANAGEMENT CAPL-7120 Implementa funcionalidade de cancelamento de task SQL na interface do usuário da Carol

Implementa a funcionalidade de cancelamento de task SQL na interface do usuário (UI) da Carol, eliminando a necessidade de uso do Swagger. Agora, os usuários podem cancelar tasks do tipo SQL Processing diretamente na UI, através de um botão "Cancelar" ao lado de cada task. O sistema solicita confirmação antes de efetivar o cancelamento e exibe mensagens claras de sucesso ou erro após a operação, melhorando a experiência do usuário e reduzindo a demanda por suporte técnico.

BIG_QUERY CAPL-7146 Permite rodar o processo de cópia de dados do Cliente para o Unificado com data inicial de partição

O backend agora permite rodar o processo de cópia de dados do Cliente para o Unificado, informando a data inicial da partição através do atributo "_ingestionDateTime". O serviço de copy data aceita datas no formato "YYYY-MM-DD" e inicia as tasks considerando a data informada no endpoint. Além disso, o serviço da Carol disponibiliza o parâmetro de data inicial, repassando o atributo para o serviço do time Data/integration.

ORGANIZATION/TENANT CAPL-7139 Atualiza o socket.io e revisa a rotina de inicialização de sessão para habilitar 2FA globalmente em todas as organizações e tenants

O sistema atualiza o socket.io e revisa a rotina de inicialização de sessão para permitir que o usuário habilite o 2FA de forma global em todas as organizações e tenants ao realizar login na plataforma Carol. Para usuários que não ativam o 2FA, o mecanismo de login permanece inalterado, garantindo a continuidade do contrato. Quando o 2FA está habilitado, o login solicita a autenticação adicional. O usuário pode habilitar ou desabilitar o 2FA, recebendo um QR Code para configuração e solicitando um código 2FA para desativação.

SQL_PIPELINES CAPL-7006 Dispara processamento de pipelines SQL imediatamente após conclusão de pipeline SQL Processing

Agora é possível disparar o processamento de pipelines SQL imediatamente após a conclusão de uma pipeline SQL Processing, permitindo a criação de dependências de execução. Essa melhoria simplifica a sequência de execuções, evitando a complexidade atual. O manifesto de pipeline é atualizado para incluir a especificação de quais pipelines devem ser iniciadas após a execução, e se a tarefa falhar, as pipelines especificadas não são iniciadas. A compatibilidade com o VSCode é ajustada para reconhecer a nova notação do manifesto.

SQL_PIPELINES CAPL-7069 Atualiza o processamento SQL Processing para considerar saveCds como FALSE e otimiza o fluxo de trabalho

O processamento SQL Processing agora considera o valor saveCds como FALSE, garantindo que os dados processados não sejam gravados no GCS. Essa alteração otimiza o fluxo de trabalho e evita o armazenamento indesejado de dados. A documentação foi atualizada para refletir essa mudança.

🐛 Correções

BILLING CAPL-7059 Exibe últimos seis meses de dados de Billing com referência ao mês atual selecionado

O sistema exibe agora os últimos seis meses de dados de Billing utilizando como referência o mês atual selecionado. Essa atualização garante que as informações apresentadas sejam mais relevantes e precisas para o usuário, facilitando a análise e o acompanhamento das cobranças.

PLATFORM CAPL-6866 Analisamos a exceção ao recuperar a flag de migração do Entity Template

Ocorre uma exceção ao tentar recuperar a flag de migração do Entity Template, resultando na mensagem "Flag entity_template.migrated.level has no value or is not an integer". A consulta à flag no Flagsmith retorna null em algumas chamadas, o que pode impactar o fluxo de migração do Entity Template.

PLATFORM CAPL-7009 Revisa mensagens de erro para proteger dados confidenciais na Plataforma Carol

As mensagens de erro foram revisadas para garantir que não contenham informações sensíveis. Este caso é analisado em conjunto com a equipe de segurança para implementar as correções necessárias e proteger os dados da plataforma.

PLATFORM CAPL-7128 Ajusta o parâmetro mdmEnableEfficiencyBigqueryLanding para resolver problema de observabilidade

O parâmetro "mdmEnableEfficiencyBigqueryLanding" afeta a propagação de eventos de dados processados na tenant, conforme observado no batchID. Ao consultar os registros, não há taskId associado no pipeline_process. Após desativar a flag por volta das 01:30 am em 24/01/2025, as tasks de pipeline summary iniciam a execução, resolvendo o problema de observabilidade.

PLATFORM CAPL-7141 Investiga erro crítico na importação de marcações afetando clientes do ERP RM

Identificado um problema relacionado ao token de autenticação, conforme indicado nos logs técnicos, afetando clientes do ERP RM.

TENANT_ADMIN CAPL-7001 Reflete o status do usuário global na organização e na tenant

O status do usuário global é agora refletido dentro da organização e da tenant. A replicação do status ocorre através de uma Named Query, garantindo que o status não se propague para os registros filhos. Essa atualização melhora a consistência e a gestão dos usuários em diferentes níveis da estrutura.

TENANT_ADMIN CAPL-7025 "Melhorias na criação de ambientes e habilitação da feature de user integration"

- Corrigido o problema em que novos ambientes estavam sendo criados com a feature de user direct integration desabilitada. - Agora, todos os ambientes Clockin e não-Clockin serão criados com a feature habilitada. - O script de criação de ambientes foi alterado para incluir a opção "mdmUseDirectUserIntegration": true. - A alteração também foi aplicada a outros produtos, caso haja scripts de criação de ambientes para eles. - A feature de user integration está disponível para todos os ambientes.

· 3 min read
TOTVS Inteligência de Dados

🚀 Melhorias

BILLING CAPL-7019 Lista os Carol Apps instalados na Tenant na visão do Account Manager

Agora é possível listar os Carol Apps instalados na Tenant na visão do Account Manager, facilitando a visualização e o gerenciamento dos aplicativos disponíveis. Essa melhoria proporciona uma experiência mais completa e eficiente para os usuários que atuam nessa função.

ORGANIZATION/TENANT CAPL-7022 Desabilita botão Adicionar Usuários durante criação de novo Tenant

O botão "Adicionar Usuários" é desabilitado durante a criação de um novo Tenant, evitando que o usuário clique e receba uma mensagem de erro. Essa mudança melhora a experiência do usuário ao garantir que ações não sejam realizadas antes da finalização do processo de criação do Tenant. O botão é habilitado novamente assim que a criação do Tenant é concluída, permitindo que os usuários acessem as funcionalidades apropriadas sem interrupções.

TENANT_ADMIN CAPL-7024 Administração do Tenant permite copiar tenantId e datasetId para usuários da Carol
Permite copiar qualified name do ambiente da Carol seguindo regra estabelecida
Nova opção de abrir console do BigQuery está disponível para usuários do domínio TOTVS

A funcionalidade de administração do Tenant agora permite copiar o tenantId e o datasetId, facilitando o trabalho dos usuários da Carol. Além disso, é possível copiar o qualified name do ambiente da Carol, seguindo a regra estabelecida. A nova opção de abrir o console do BigQuery está disponível para usuários do domínio TOTVS, com a URL configurada para selecionar automaticamente o projeto correspondente. Esse link é adicionado à barra principal da Carol, no topo da página, melhorando a acessibilidade.

🐛 Correções

CAROL_APP CAPL-6855 Corrige exibição de Invalid Date ao editar Schedule de AI Process em ambientes diversos

O problema de exibição de "Invalid Date" ao editar um Schedule de AI Process é identificado em diversos ambientes. Ao clicar em Edit em um Carol App Process agendado, o campo Starts After apresenta o erro e impede o cálculo dos próximos schedules. Esse comportamento ocorre apenas com schedules já existentes, enquanto novos agendamentos funcionam corretamente.

CAROL_APP CAPL-6990 Corrige a exibição incorreta da mensagem de erro de conexão com o Git em tenants unificados

A mensagem de erro na conexão com o Git é exibida de forma incorreta em tenants unificados. Ao navegar na tenant e retornar à home, a mensagem "There is a problem connecting with Git, please update the credentials on the Carol App." aparece, mesmo quando a conexão está correta. Além disso, ao acessar a home diretamente, a mensagem surge rapidamente antes de desaparecer. O problema foi verificado em várias tenants unificadas, apresentando o mesmo comportamento.

TENANT_ADMIN CAPL-7056 Habilita integração de recursos da Google na tenant Fluig após resolução de bloqueio de e-mail

A integração de recursos da Google na tenant Fluig está sendo habilitada, após a identificação de que o e-mail @fluig.com impede a ativação. Esse bloqueio afeta a continuidade do projeto na plataforma Carol, causando um impacto crítico nas atividades produtivas.

· 7 min read
TOTVS Inteligência de Dados

🚀 Melhorias

ACTIVITY_MANAGEMENT CAPL-6852 Separar o processo Stale em dois trabalhos distintos para gerenciar tarefas RUNNING e READY

O processo Stale é separado em dois trabalhos distintos para gerenciar tarefas órfãs do tipo RUNNING e tarefas READY por um período prolongado. Isso assegura que problemas em um job não impactem o outro. Um job é criado especificamente para o método StaleTaskCheckJob#deallocateRunningTasks, enquanto um segundo job é desenvolvido para o método StaleTaskCheckJob#replayReadyStaleTasks. Ambos os jobs operam de forma independente, melhorando a eficiência do gerenciamento de tarefas.

CONNECTOR CAPL-6848 "Atualização do Endpoint de Gravação de Golden Record"

Endpoint de gravação de golden record não deve gravar dados no CDS. O endpoint /api/v1/admin/entities/templates/%temploateID%/goldenRecords?mdmIdBasedMergeRule=true está gravando dados no CDS, o comportamento foi revisado para apenas gravar no BigQuery e RT (caso o DM tenha o storage type adicionado).

DATAFLOW, PLATFORM CAPL-6844 Implementacão de STORAGE_API para atribuir valor default a _ingestionDatetime na tabela BQ

A implementação do STORAGE_API agora permite que a tabela BQ atribua o valor default para _ingestionDatetime ao inserir dados, evitando que esse campo fique nulo. Com essa mudança, o valor que chega à tabela reflete corretamente o timestamp da ingestão, melhorando o funcionamento do Clockin e facilitando a migração de tenants que utilizam o app para STORAGE_API. A validação do tempo entre ingestionDatetime e _CHANGE_TIMESTAMP também é realizada para garantir a precisão dos dados.

DATAFLOW CAPL-6873 Descontinuação de jobs do Dataflow Staging não utilizados e remove Subscriptions em alinhamento com SRE.

Descontinua-se os jobs de Dataflow do tipo Staging que não são mais utilizados. Alinha-se com SRE a remoção das Subscriptions. Os jobs de Staging estão consumindo recursos sem processar dados. Os jobs CDS e Staging têm funcionalidades específicas. Existem 4 tópicos em uso na arquitetura.

DATA_PROCESSING CAPL-6840 Efetivar a ingestão de colunas não especificadas na tenant unificada para a tenant DEV

A ingestão de colunas não especificadas na tenant unificada para a tenant DEV é efetivada, permitindo o carregamento de colunas não especificadas na tabela da tenant unif. A funcionalidade copia atributos (chave/valor) dentro de uma coluna Json, otimizando o processo de integração de dados. Essa melhoria garante maior flexibilidade na manipulação de informações nas tenants.

DATA_PROCESSING CAPL-6887 Realiza ingestão de colunas customizadas na tenant unificada para gesplan

A ingestão de colunas customizadas na tenant unificada para o caso gesplan é realizada, permitindo o carregamento de colunas não especificadas na tabela da tenant unificada. A solução envolve a cópia de atributos (chave/valor) dentro de uma coluna Json, facilitando a leitura de atributos específicos através de um pipeline.

EXPLORE CAPL-6980 Exibição de datasets do Mandalore no Explorer e adiciona novos agrupadores Ideia - Data Products e Ideia - Subscriptions

Os datasets do Mandalore são agora exibidos no Explorer. Dois novos agrupadores são adicionados: "Ideia - Data Products" e "Ideia - Subscriptions". Cada agrupador apresenta N datasets, que contêm N objetos, incluindo tabelas e views. O endpoint do Carol SQL retorna esses dados, permitindo acesso estruturado às informações.

SHARED_DATA CAPL-6850 Exibe nomes das organizações e tenants que compartilham e recebem dados

O sistema agora exibe o nome das organizações e das tenants que estão compartilhando e recebendo dados. Essa atualização melhora a visibilidade e o controle sobre as interações entre as tenants, facilitando a gestão e o monitoramento das operações de compartilhamento de dados.

🐛 Correções

ACTIVITY_MANAGEMENT CAPL-6406 StaleTaskCheckJob não lança mais exceção NoSuchElementException ao buscar scheduled tasks ausentes

O StaleTaskCheckJob agora não lança mais a exceção "NoSuchElementException" ao tentar obter scheduled tasks que não existem. Isso ocorre quando a tarefa de desalocação de tasks encontra a ausência de scheduled tasks, permitindo que outras tasks sejam processadas corretamente. Essa atualização garante que o fluxo de execução do job não seja interrompido, mesmo que as tasks tenham sido removidas por outros processos, como a deleção de Tenants.

ALERTS_MANAGEMENT CAPL-6859 Atualiza notificações para incluir mdmName e exibir nome da tenant na lista de eventos

As notificações agora incluem o mdmName, permitindo a exibição do nome da tenant na lista de eventos. Essa atualização facilita a avaliação das notificações na Carol, que anteriormente mostrava apenas o mdmTenantId.

DATA_MODEL CAPL-6857 Resolve problema de build da pipeline arinvoice na tenant unified antecipaprotheusunif ao atualizar cache CUSTOMER_TENANTS_FROM_UNIFIED ao deletar tenant customer

O problema de build da pipeline arinvoice na tenant unified antecipaprotheusunif é resolvido. A falha ocorre devido à falta de atualização do cache CUSTOMER_TENANTS_FROM_UNIFIED ao deletar uma tenant customer, resultando em sua consideração no processo de fanout e subscription. Agora, ao deletar uma tenant, o sistema verifica se ela é do tipo Customer e a exclui do cache correspondente, evitando erros relacionados à recuperação da subscription do entity template no index do ES.

DATA_PROCESSING CAPL-6657 Preserva valores dos campos definidos no crosswalk em registros deletados

Ao acionar o serviço de eliminação de dados pelo crosswalk, o sistema preserva os valores dos campos definidos no crosswalk nos registros deletados, mantendo o mdmDeleted=true. Essa mudança facilita a rastreabilidade dos dados, permitindo que equipes externas investiguem problemas e compreendam melhor seus pipelines. Além disso, os registros na tabela de staging preservam os campos setting_name, app_name, tenantID e mdmID, garantindo que informações essenciais permaneçam acessíveis durante consultas.

DATA_SUBSCRIPTION CAPL-6993 Corrige falha de notificação no Data Subscription do cliente Gesplan

O problema identificado no cliente Gesplan refere-se à task SQL que, apesar de ter o Data Subscription habilitado, não enviou dados ao endpoint configurado. A investigação confirma que, embora os registros tenham sido gerados e inseridos no Data Model, não houve ação de notificação registrada nos logs. A ausência do recordId na tabela de logs do sistema de Data Subscription indica uma falha na persistência. Uma query foi elaborada para identificar proativamente outros casos similares, permitindo uma análise mais aprofundada.

PLATFORM CAPL-6863 Erro de entidade não existente ao corrigir staging tables com status INACTIVE ou CHANGE_IN_PROGRESS no BigQuery

A atualização do schema gera um erro de entidade não existente ao corrigir staging tables com status INACTIVE ou CHANGE_IN_PROGRESS no BigQuery. O erro indica que o documento atualizado não existe para a tenant especificada. Embora a geração do arquivo avro tenha sido bem-sucedida em outra tenant, o schema da staging table não foi atualizado. Enquanto algumas tenants resolveram o problema, outras ainda enfrentam dificuldades na atualização do schema através do processo de geração do arquivo avro.

PLATFORM CAPL-6881 Corrige vulnerabilidade de enumeração de contas na Plataforma Carol durante o login

Foi identificado um problema onde a enumeração de contas é possível através de requisições para um endpoint específico. Isso permite que usuários mal-intencionados mapeiem endereços de e-mail de usuários da TOTVS, expondo-os a potenciais ataques. Para mitigar essa vulnerabilidade, são implementadas correções que impedem a exposição de informações sobre a existência de usuários durante o login e garantem que cada usuário tenha acesso apenas ao seu respectivo Tenant.

SHARED_DATA CAPL-6882 Investiga erro na consulta de shared data entre os tenants hlcloud e telemetria na view shd_hlcloud_p07000

Identificamos um erro na consulta de shared data entre os tenants hlcloud e telemetria, onde a view shd_hlcloud_p07000 retorna um status code 500. Apesar da tabela existir e ser validada, a consulta falha, enquanto uma nova shared view com nome diferente funciona corretamente. Acreditamos que o problema não esteja relacionado a erros de requisições, pois outras consultas operam normalmente. A situação requer investigação adicional para resolver a questão de acesso e permissões na tabela.

SQL_PIPELINES CAPL-6853 Permite execução de pipelines em ambientes específicos para grupos de tenants

O orquestrador agora permite a execução de pipelines apenas em alguns ambientes, possibilitando que uma pipeline de Image seja liberada gradualmente. Essa funcionalidade permite que uma pipeline seja executada por um grupo específico de tenants, enquanto outros grupos de tenants podem ser excluídos da execução. Essa melhoria proporciona maior controle e flexibilidade na gestão das pipelines.

· 6 min read
TOTVS Inteligência de Dados

🚀 Melhorias

ALERTS_MANAGEMENT CAPL-6828 Permite acesso ao Alerts Management para tenants DEV e UNIF com visualização de dados vinculados à organização

Permite que os tenants DEV e UNIF acessem o Alerts Management, visualizando os dados vinculados à organização. O clientID do Alerts Management utiliza o orgID associado à tenant em que o usuário está logado, garantindo que essa funcionalidade seja válida apenas para os tenants DEV e UNIF.

CONNECTOR CAPL-6650 Melhorar a eficiência do processamento SQL para bachID e consultas genéricas com dados de aterrissagem do BQ

O uso dos dados de aterrissagem do BQ melhora a eficiência do processamento SQL para bachID e consultas genéricas. Essa implementação otimiza a performance das operações, garantindo resultados mais rápidos e precisos.

DATAFLOW CAPL-6651 Atualiza coluna last_record_landed na tabela staging_entity_stats com eventos de confirmação de aterrisagem no BigQuery

A funcionalidade de coleta de eventos de confirmação de aterrisagem no BigQuery agora atualiza a coluna last_record_landed da tabela staging_entity_stats. A implementação utiliza o método de escrita STREAMING_INSERT, garantindo que os registros sejam processados em tempo real. Essa melhoria permite um acompanhamento mais preciso dos dados aterrados, beneficiando os usuários que dependem dessas informações para análise e relatórios.

DATAFLOW, PLATFORM CAPL-6786 Ajusta valor default de ingestionDatetime na tabela BQ ao inserir dados via STORAGE_API

O valor default de _ingestionDatetime agora é corretamente atribuído na tabela BQ ao inserir dados via STORAGE_API. Anteriormente, esse valor não era inserido, resultando em dados nulos e impactando o funcionamento do Clockin, o que dificultava a migração de tenants. Com essa atualização, a tabela BQ garante a inserção do valor padrão, melhorando a integridade dos dados e a eficácia do processo de ingestão. A validação do tempo entre ingestionDatetime e _CHANGE_TIMESTAMP também é realizada para assegurar a precisão dos dados.

DATAFLOW CAPL-6839 Descontinua jobs de Dataflow do tipo Staging e remove subscriptions relacionadas

Descontinuam-se os jobs de Dataflow do tipo Staging, que atualmente não processam dados e consomem recursos desnecessários. A remoção das subscriptions relacionadas a esses jobs será alinhada com a equipe de SRE. No deploy de Sandbox, o flag START_CDS_PIPELINE permanece sempre como TRUE, eliminando a necessidade desse flag no deploy do Jenkins. Essa ação visa otimizar o uso de recursos e simplificar a arquitetura existente.

SQL_PIPELINES CAPL-6775 Ajusta cálculo de maxNumOfWorkers para pipelines de SQL Process e melhora performance

Ajusta-se o cálculo de maxNumOfWorkers para os pipelines de SQL Process, melhorando a performance ao considerar a quantidade total de dados processados. Anteriormente, o cálculo baseava-se em arquivos parquet, o que não se aplica ao SQL Pipeline. Agora, a configuração específica para o número máximo de trabalhadores é implementada, evitando avisos sobre a capacidade de execução e otimizando o uso de recursos. Essa atualização garante que os jobs sejam mais eficientes e que os limites de execução em paralelo sejam respeitados.

TENANT_ADMIN CAPL-6837 CarolSQL permite funcionamento com Google SA e Google User Credentials

O CarolSQL agora permite funcionar tanto com Google SA quanto com Google User Credentials. Anteriormente, o serviço exigia apenas Application Default Credentials (ADC) do tipo Service Account, o que limitava o acesso ao ambiente local, especialmente no projeto labs-poc. Com essa atualização, é possível subir o CarolSQL localmente utilizando User Credentials, facilitando o desenvolvimento e o acesso ao ambiente.

🐛 Correções

ACTIVITY_MANAGEMENT CAPL-6819 Resolução de problema de travamento de tasks em diversas tenants

Identificamos e resolvemos um problema que causa o travamento de tasks em diversas tenants. A consulta realizada lista tasks com status diferente de COMPLETED, CANCELED e FAILED, focando nas que estão em estado READY e RUNNING. As tasks foram filtradas para incluir apenas aquelas que não foram executadas nas últimas 48 horas, permitindo a identificação de tasks realmente travadas. Diversas tasks foram canceladas manualmente para destravar o processo, e as imagens do processo de cancelamento estão disponíveis para referência.

BILLING CAPL-6793 Endpoint de exportação de dados para Billing Viewer gera corretamente arquivo de dados com base no filtro aplicado

O endpoint de exportação de dados para Billing Viewer agora gera corretamente o arquivo de dados do billing com base no filtro aplicado na tela. Essa melhoria permite que os usuários exportem as informações de forma eficiente, garantindo que os dados visualizados sejam disponibilizados para download.

CAROL_APP CAPL-6559 Atualiza tasks agendadas de AI Process para considerar App Settings com valores atualizados

As tasks agendadas de AI Process agora consideram os App Settings com valores atualizados. Anteriormente, ao criar uma task, os valores antigos dos App Settings eram utilizados, resultando em inconsistências durante a execução do processo. Com a correção, as tasks agendadas passam a utilizar sempre o valor atual dos App Settings, eliminando a necessidade de recriação do agendamento para refletir as alterações. Essa melhoria assegura que o processo obtenha os valores corretos armazenados na Carol, garantindo maior precisão e eficiência.

PLATFORM CAPL-6575 Investiga casos de appName ou pipelineName nulo em cenários específicos

O problema de appName ou pipelineName nulo continua ocorrendo em alguns cenários, mesmo após as melhorias implementadas. A equipe investiga os casos restantes que ainda geram esse erro, buscando identificar e corrigir as causas subjacentes. A análise detalhada dos logs e das condições que levam a essas falhas está em andamento para garantir a estabilidade do sistema.

SQL_PIPELINES CAPL-6656 Checkout da Tenant unificada retorna para versão anterior ao atualizar o App gesplanprotheuslink

Ao atualizar o App gesplanprotheuslink, o Checkout configurado na Tenant unificada retorna para uma versão anterior, causando perda da configuração atual. Se a tenant unificada estiver em um commitID superior ao empacotado no Carol App, a versão do commitID atual deve ser mantida. Essa situação gera interrupção no funcionamento da aplicação, mas não provoca impacto financeiro direto. Um vídeo com evidências do problema foi anexado para análise.

SQL_PIPELINES CAPL-6737 Atualiza endpoint de instalação do Carol App para permitir seleção de commitID na tenant unificada

Ao atualizar o App gesplanunif, o Checkout configurado no Unificado retorna para uma versão anterior, causando interrupção no funcionamento da aplicação. O objetivo é permitir que, no endpoint de instalação do Carol App, o usuário informe qual commitID deve ser mantido para a tenant unificada, exibindo informações sobre a branch e os commitIDs disponíveis. A UI orienta o usuário no fluxo de instalação, garantindo que o commitID correto seja utilizado e evitando a perda de configurações anteriores.

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-6782 Orquestrador da Carol não respeita tempTableRetentionPeriod no pipelines.json

O Orquestrador da Carol não está respeitando o tempTableRetentionPeriod informado no pipelines.json, gerando problemas na aplicação em produção. A análise da viabilidade para que o Orquestrador acate o ajuste solicitado está em andamento. Testes realizados com diferentes períodos de retenção demonstram a inconsistência no comportamento esperado. A situação é considerada de alta prioridade, pois afeta o funcionamento da aplicação sem impacto financeiro direto.

· 4 min read
TOTVS Inteligência de Dados

🚀 Melhorias

ACTIVITY_MANAGEMENT CAPL-5895 Atualiza campo lastUpdated em logs de task para tipo SQL Processing para monitoramento preciso

Atualiza o campo lastUpdated a cada novo log de task para o tipo SQL Processing, permitindo um monitoramento mais preciso pelo StaleBigQueryTaskCheckJob. Essa atualização reduz a lista de tasks a serem verificadas, garantindo que apenas as tasks que não receberam atualizações nos últimos 4 minutos sejam listadas. A solução avalia a necessidade de atualizar o lastUpdated para todas as tasks ou apenas para casos específicos como SQL Processing, melhorando a eficiência do sistema de monitoramento.

ACTIVITY_MANAGEMENT CAPL-5910 Otimiza a validação de jobs na task de processamento SQL na GCP

Otimiza a validação de jobs em execução na task de processamento SQL, ajustando a ordem de verificação dos jobs na GCP. A nova lógica verifica primeiro o DATAFLOW_JOB_ID, seguido do PROCESS_JOB_ID, e assim por diante, apenas se o status RUNNING for falso. A consulta ao Dataflow é realizada somente quando a flag useDataflow está ativa, evitando verificações desnecessárias. A implementação reduz o tempo de execução do método BigQueryProcessTaskProcessor, shouldDeallocateStale(), melhorando a eficiência do processamento.

ACTIVITY_MANAGEMENT CAPL-6655 Ajusta campo Duration da UI para corrigir inconsistências no registro de duração das tasks

Ajustes no campo Duration da UI são realizados para corrigir inconsistências no registro de duração das tasks. O cálculo atual, baseado em mdmUpdated - mdmCreated, gera confusão ao usuário sobre o tempo real de execução. Propostas incluem registrar a data e hora de criação no primeiro log, contabilizar apenas o processamento da task ou remover o campo Duration da UI. Essas mudanças visam garantir maior precisão e clareza nas informações apresentadas aos usuários.

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.

PLATFORM CAPL-6667 Recriar view ao editar staging table ou publicar data model para atualizar schema

Ao editar uma staging table ou publicar um data model, a view é recriada para forçar a atualização do schema, garantindo que a descrição do data model e os atributos estejam sempre atualizados. Essa mudança melhora a consistência dos dados e a integridade do sistema, refletindo corretamente as alterações realizadas nas tabelas e modelos. A documentação sobre atributos metadata está disponível para consulta.

SQL_PIPELINES CAPL-6711 Migra o Orchestrator para a implementação v4 dos endpoints de SQL Processing

O Orchestrator é migrado para a implementação v4 dos endpoints relacionados ao SQL Processing. Os endpoints processQuery e Get Pipelines agora utilizam as APIs /api/v4/bigQuery/processQuery e /api/v4/tenantApps/{id}/pipelines, respectivamente. Com essa migração, o Orchestrator se torna compatível com a v2 do manifest, conforme especificado na issue CAPL-6069. Essa atualização garante que o processamento de dados ocorra de forma eficiente e alinhada às novas versões das APIs.

🐛 Correções

CONNECTOR CAPL-6653 Valida parâmetros condicionais na escrita de parquets no GCS e corrige erros de escrita

Valida os parâmetros condicionais na escrita de parquets no GCS, corrigindo erros de escrita que ocorrem devido a pré-condições não atendidas. A implementação permite o uso de opções de parametrização mais resilientes, como o overwrite de arquivos utilizando ifGenerationMatch=0 e if_metageneration_match=0, evitando mensagens de erro que indicam que as condições não foram atendidas. A documentação relevante é atualizada para refletir essas melhorias e garantir uma operação mais estável.

CONNECTOR CAPL-6684 Correção NullPointerException ao tratar exceções do BigQuery ao adicionar AuditId

Corrige um NullPointerException que ocorre ao tratar exceções do BigQuery ao adicionar o AuditId. O problema é identificado na classe BigQueryExtendedErrorHandler, especificamente nos métodos reportStats e processElement. A implementação atualiza o tratamento de erros para garantir que não haja exceções de ponteiro nulo durante o processo.

CONNECTOR CAPL-6748 Corrige o valor de ingestionDatetime nas stagings para refletir a data/hora correta de aterrizagem do registro

O valor de _ingestionDatetime nas stagings não reflete a real data/hora de aterrizagem do registro, apresentando uma diferença de minutos em relação ao _CHANGE_TIMESTAMP do BigQuery. Essa discrepância impacta o processamento. Uma solução paliativa já foi implementada, mas o tema continua em análise. Um documento detalhado sobre o caso está disponível para consulta.

EXPLORE CAPL-6660 Corrige exibição da senha no painel lateral do registro Golden Record de mdmUser para o storage Type RT

O problema de exibição da senha no painel lateral do registro Golden Record de mdmUser para o storage Type RT foi identificado e corrigido. Agora, a senha não aparece mais, garantindo a segurança das informações. O comportamento para BQ permanece inalterado e continua funcionando corretamente.

· 3 min read
TOTVS Inteligência de Dados

🚀 Melhorias

BILLING CAPL-6636 Aprimora monitoramento do repasse de valores no Billing

Adiciona recursos ao Billing para aprimorar o monitoramento do repasse de valores. Na tela inicial, exibe o CC, item code, class value e o responsável. Inclui o código do workflow gerado no fluig apenas para batches consolidados, associando-o ao billing account. Mostra o código do WF do fluig e destaca billing accounts sem CC, adicionando mensagens que alertam sobre a falta de informações de cobrança e a necessidade de revisão das tenants. Um link para o Fluig é incluído no header para o Account Manager.

CAROL_APP, CONNECTOR, ORGANIZATION_ADMIN CAPL-6068 Propagar eliminação de dados na Tenant Unificada de forma segura e eficiente

Como tenant admin, é possível propagar a eliminação de dados na tenant unificada. Isso inclui a remoção de registros de staging tables, desinstalação de Carol Apps, eliminação de tenants clientes e atualização de Carol Apps na tenant unificada. O processo é realizado de forma síncrona e assíncrona, garantindo a integridade dos dados e a correta execução das tarefas.

CAROL_APP, SQL_PIPELINES CAPL-6623 Padroniza a funcionalidade de múltipla seleção em tabelas na Carol

A funcionalidade de múltipla seleção em tabelas na Carol é padronizada, garantindo um comportamento uniforme em todas as abas. Agora, quando nenhum item estiver selecionado, os botões de ação permanecem desabilitados, apresentando mensagens informativas que orientam o usuário. Para a listagem de Tenants, a mensagem "Select a valid Tenant to run Copy data" é exibida, enquanto na listagem de Pipelines, a mensagem "Select pipelines to process and manage schedules" é apresentada. Essa mudança melhora a usabilidade e a clareza nas interações.

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.

TENANT_ADMIN CAPL-6612 Exibe campo mdmdescription na interface de edição de tenants

O campo mdmdescription é agora exibido na interface de edição de tenants. Os usuários do Carol Admin, Org Admin e Tenant Admin conseguem visualizar e editar a descrição da tenant ao acessar suas respectivas interfaces. Essa atualização melhora a usabilidade e a gestão das informações dos tenants, permitindo um acesso mais fácil e direto às descrições necessárias.

🐛 Correções

CONNECTOR CAPL-6583 Falha na task de notify schema changes ao incluir campo sem field type em ambientes Postgres

Ocorre uma falha na task de notify schema changes ao incluir um campo sem o field type, tanto em ambientes não migrados quanto migrados para o Postgres, incluindo a master. Após criar uma staging table e adicionar um campo sem o field type, erros são gerados ao enviar dados. No entanto, ao editar e salvar novamente a staging table, os erros deixam de acontecer.

PLATFORM CAPL-6401 Correção de erros de ElasticSearch relacionados ao tenant parenteandrade e evita falhas na eliminação do índice durante o snapshot

Corrige os erros de ElasticSearch relacionados ao tenant parenteandrade, evitando falhas na eliminação do índice durante o processo de snapshot. A implementação garante que a tarefa de fechamento dos índices não seja interrompida quando o ElasticSearch estiver realizando um snapshot, prevenindo assim o erro de "Bad Request" que ocorre ao tentar deletar índices em uso. A solução proporciona maior estabilidade e confiabilidade nas operações do sistema.