Skip to main content

CAPL_4.11

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