Páginas filhas
  • 17939460 DFRM1-33912 DT AppServer - AutoNF - AutoNFSE - Consumo Memória

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...


02. 
SITUAÇÃO/REQUISITO

Foi efetuada a análise pelo Time de Desenvolvimento e o diagnóstico é o seguinte: _ "A analise inicial dos logs mostra que os dois serviços estão criando seções de variáveis globais, através da função advpl VarSetUID() , sem nunca limpar essas seções – usando VarClean() _Após gerar uma build com uma geração de trace de stack da criação e deleção dessas listas , descobri que foi uma implementação recente do scheduler, para o ERP 12.1.2210, que está criando novas seções globais sem deletar. Os arquivos enviados pelo cliente no ticket mostram a criação de mais de 300 seções por hora, na seguinte pilha de chamadas:09/10/2023 13:45:15 | Thread 12100 | Create Global Table 9185D036C3664E11B22600155DFB6F35PULSECalled from FWPULSEMANAGERINIT(FWLICENSEPULSEMANAGER.PRW) 13/09/2023 17:37:36 line : 39Called from FWBOSCHDEXECUTE(FWBOSCHDEXECUTE.PRW) 13/09/2023 17:37:37 line : 25409/10/2023 13:45:20 | Thread 12456 | Create GLobal Table EC019F30C3664E11822600155DFB6F35PULSECalled from FWPULSEMANAGERINIT(FWLICENSEPULSEMANAGER.PRW) 13/09/2023 17:37:36 line : 69Called from FWBOSCHDEXECUTE(FWBOSCHDEXECUTE.PRW) 13/09/2023 17:37:37 line : 254identificado que durante a execução de tarefas agendadas via schedule, ocorria abertura de sessões de variáveis globais que não eram encerradas ao fim das execuções, gerando aumento do consumo de memória. 

03. SOLUÇÃO

Caso já exista um valor na variável LSPULSEID, na chamada do VarSetUID é passado ele ao invés de um novo id, evitando que seja criada uma sessão com id diferente do que é retornado pela funçãoFoi adicionada uma validação onde caso já exista uma sessão aberta é utilizada ela ao invés da criação de uma nova.

04. DEMAIS INFORMAÇÕES

Não se aplica

...