Gesplan - Valores nulos no Data Model
Description
- Jira TOTVS issue: https://jiraproducao.totvs.com.br/browse/DLABSCAPL-4110
- Attachments:
https://jiraproducao.totvs.com.br/secure/attachment/2238156/image-2024-02-16-10-56-00-702.png
Bom dia. Identificamos que registros criados desde ontem, estão sendo levados como nulos para os data models da Gesplan.
Unable to render embedded object: File (image-2024-02-16-10-56-00-702.png) not found.
Alguns tenants estão apresentando esse problema, como por exemplo :
https://totvstechfin.carol.ai/tenantedfa70baa6f44093847e16a22a3383e0
https://totvstechfin.carol.ai/tenant05734e20793841eba70aa27658d8620c
Notamos que os temporários gerados pelas tasks possuem os dados íntegros, como por exemplo:
Registro do DM (com valores nulos)
select mdmTaskId,value, documentnumber,duedate2,* from contasreceberprevisto
where mdmId='d44d2565d3c92cf13be6422054c00808'
Resultado da pipeline (gravado no temp)
select value, documentnumber,duedate2,* from `tt_temp_task_contasreceberprevisto_2024-02-16_0028a2f6ed444e5d9f0bdad1d94b07b1`
(queries executas em https://totvstechfin.carol.ai/tenantedfa70baa6f44093847e16a22a3383e0 )
Questões gerais (obrigatórias) | Respostas |
---|---|
1) Qual o seu segmento TOTVS? | Protheus |
2) Qual o produto / Carol APP relacionado? | gesplanprotheuslink |
3) Informe o ambiente impactado: | ( ) Desenvolvimento ( ) Homologação ( ) Implatanção ( x ) Produção |
4) Informe a fase/estágio | ( ) É um Projeto ( x ) É cenário em Produção |
5) Informe a prioridade desta issue. |
* MÉDIA: Não ocorre em ambiente produtivo e nem possui impacto financeiro direto; Exemplos: problemas em ambientes de teste, homologação ou desenvolvimento. |
Informe o tipo de problema/dúvida que descreve a sua situação. |
Problema/dúvida em questão (na perspectiva do desenvolvedor):
Campos produzidos pelo SQL Processing (sql pipeline) com case diferente do que especificado no Datamodel estavam tinha seus valores ignorados no parse de informações.
Causa raiz do problema (Caso não se aplique, informe "NA"):
No dia 15 fizemos uma correção relacionada ao card https://totvslabs.atlassian.net/browse/CAPL-5504 onde pipelines SQL estavam retornando campos que não existiam no Datamodel e com isso fazendo com que o mapping desse novo campo fosse criado no Elasticsearch. Isso trazia problemas nas instalações do CaroApp pois ao tentar criar o campo efetivamente o Elasticsearch já informava que o campo já existe. Como parte da solução do card mencionado anteriormente começamos a validar o resultado do SQL Processing, ignorando valores de colunas retornadas no SQL Processing onde não existisse um field com o mesmo nome no Datamodel justamente evitar a criação do mapping no Elasticsearch desse atributo campo inexistente. O problema é que temos algumas pipelines retornando campos ex: STATUS quando no Datamodel esse attributo está definido como ex: status. O case é diferente e por conta disso os campos não eram considerados iguais fazendo com que o valor da coluna STATUS do SQL Processing não fosse transportada para a coluna status do Datamodel.
Solução dada ao tema/dúvida:
Fizemos uma melhoria na nossa regra de validação onde a busca para saber se o atributo existe ou não vai ser case insensitive.
Orientações gerais para validação (Caso não se aplique, informe "NA"):
Processar SQL Pipelines afetadas (que traziam valores nulos em atributos que deveriam ser preenchidos) e validar que os valores estão sendo propagados.
Versão de correção e previsão de lançamento:
Já em Produção
Message thread link on #red-phone channel:
https://totvscarol.slack.com/archives/C03NT4US9J9/p1708110033559409
@Robson Thanael Poffo ,
@Geny Isam Hamud Herrera ,
This issue was planned to be delivered until 2024-03-01. You can check that by consulting the issue in the Due Date field.
Dates already planned for this issue: 2024-03-01
If External Issue Link field is filled, customer was also informed on JIRA TOTVS.