TECNOLOGIA - TBS e Regras LSP - O processo de recompilação de regras identificou que a aplicação está com uma versão desatualizada do TBS em memória. A reinicialização imediata da aplicação é requerida!
Incidente
Ao efetuar diversos processos no sistema (que podem ser tanto processos em telas do sistema como processo integrados utilizando recursos do SeniorMiddleware ou Integração com Plataforma Senior X), o processo não é executado com sucesso e ocorre a seguinte mensagem: O processo de recompilação de regras identificou que a aplicação está com uma versão desatualizada do TBS em memória. A reinicialização imediata da aplicação é requerida!
Causa
Essa situação pode ocorrer por alguns motivos diversos, mas sempre está relacionado a mudança da versão do TBS (devido a uma atualização ou personalização de base) e pelo menos um aplicativo (sapiens.exe, sapienssrv.exe, erp_service.exe, ...) tenha ficado em memória com o TBS antigo, onde então está ocorrendo uma recompilação de regras toda vez que cada um dos aplicativos tem um contato com as regras LSP.
Exemplo de situação onde o problema pode ocorrer:
- Atualização do sistema ou personalização de base, onde uma estação de trabalho ficou conectada no ambiente durante o processo;
- Atualização do sistema ou personalização de base, onde serviços de Middleware ou AppManager não foram encerrados adequadamente, e uma instância do Middleware ou ERP_Service ficou na memória.
Solução
Importante
Caso você possua o sistema em ambiente Cloud Senior, as ações elencadas neste artigo para solução do cenário deverão ser realizadas pela equipe IT Services. Neste caso, realize a abertura do ticket para esta equipe.
1. Explicação técnica sobre Compilação e Recompilação de Regras que envolve a mensagem
Para maiores informações técnicas de como funciona o processo de compilação de regras, verifique o artigo TECNOLOGIA - Regras LSP - Como funciona o processo de compilação de regras dos sistemas de Tecnologia G5/G6 (XTended)
Observação
A ação de recompilação de regras (que é a solução descrita neste artigo) não exige a verificação do artigo citado acima, Porém, ele está sendo citado aqui porque é importante o entendimento do contexto do processo de compilação de regras para entender o motivo pelo qual é necessário executar a compilação das regras (processo descrito como Solução logo abaixo).
2. O que fazer para sanar a mensagem O processo de recompilação de regras identificou que a aplicação está com uma versão desatualizada do TBS em memória. A reinicialização imediata da aplicação é requerida?
Para tratativa dessa situação, siga os passos a seguir.
2.1. Desconecte todos os usuários do sistema e pare todos os serviços vinculado à base de dados (Exemplo de Serviços: SeniorMiddleware, ERP_Service).
Importante
Tenha certeza de que todos os usuários e instâncias foram desconectados e que eles não estão tentando conectar novamente. Se necessário, você pode verificar os usuários conectados na base de dados, conforme descrito no artigo ERP - Proprietária - Como verificar as conexões de usuários ativas na base do sistema e as licenças que estão sendo consumidas por cada usuário.
2.1.1. Acesse o Servidor de Aplicação e execute a recompilação das regras, conforme descrito no artigo TECNOLOGIA - Regras LSP - Como é realizada a compilação ou recompilação de regras nos sistemas Senior com Tecnologia G5/G6 (XTended).
2.1.2. Após a recompilação ter ocorrido sem falhas, libere a utilização do sistema para os usuários.
3. Monitoramento/Auditoria de Compilação de Regras
Caso mesmo após a compilação das regras conforme descrito acima continue sendo apresentada a mensagem de erro, isso pode indicar que existe alguma instância do sistema aberta em alguma estação de trabalho/servidor que esteja realizando a recompilação das regras com uma versão desatualizada do TBS em memória. Caso haja necessidade de tentar identificar quem é essa estação de trabalho, você poderá ativar o Monitoramento/Auditoria de compilação de Regras.
Para maiores informações sobre isso, verifique o artigo TECNOLOGIA - Regras LSP - Como efetuar o monitoramento/auditoria da compilação ou recompilação das regras (monitoramento dos arquivos BIN).
4. Corrompimento do arquivo SARGLSP.BIN
Em alguns cenários extremos, o arquivo SARGLSP.BIN pode estar corrompido no diretório do Windows e a recompilação não esteja ocorrendo adequadamente, fazendo com que a mensagem citada neste artigo continue sendo apresentada, mesmo após o processo de compilação.
Neste cenário, uma alternativa para essa situação é a recriação do diretório de regras. Para execução desse processo, siga os passos indicado abaixo:
4.1. Desconecte todos os usuários do sistema e pare todos os serviços vinculado à base de dados (Exemplo de Serviços: SeniorMiddleware, ERP_Service).
Importante
Tenha certeza de que todos os usuários e instâncias foram desconectados e que eles não estão tentando conectar novamente. Se necessário, você pode verificar os usuários conectados na base de dados, conforme descrito no artigo ERP - Proprietária - Como verificar as conexões de usuários ativas na base do sistema e as licenças que estão sendo consumidas por cada usuário.
4.2. Acesse o SeniorConfigCenter do ambiente onde o problema está ocorrendo;
4.2.1. Localize o diretório de armazenamento das regras LSP (verifique o artigo TECNOLOGIA - Regras LSP - Como funciona o processo de compilação de regras dos sistemas de Tecnologia G5/G6 (XTended) para maiores informações);
4.3. Acesse o diretório superior ao diretório identificado no SeniorConfigCenter.
Exemplo de diretório encontrado no SeniorConfigCenter: \\SRV-APL\Senior\Sapiens\Regras
Exemplo de diretório a ser acessado: \\SRV-APL\Senior\Sapiens\
4.3. Renomeie a pasta onde as regras estão armazenadas e crie uma nova pasta. Exemplo:
Pasta de Regras atual: \\SRV-APL\Senior\Sapiens\Regras
Pasta de Regras após a edição: \\SRV-APL\Senior\Sapiens\Regras_old
4.4. Crie uma nova pasta de regras. Exemplo da estrutura após a alteração:
Pasta de Regras nova (essa pasta estará vazia): \\SRV-APL\Senior\Sapiens\Regras
Pasta de Regras antiga: \\SRV-APL\Senior\Sapiens\Regras_old
4.5. Copie todos os arquivos da pasta que já existia (No exemplo citado, seria a pasta Regras_old) e cole na nova posta criada (No exemplo citado, seria a pasta Regras), com exceção dos arquivos com extensão .BIN;
4.6. Acesse o sistema novamente a partir do Servidor de Aplicação e execute a compilação das regras, conforme descrito no artigo TECNOLOGIA - Regras LSP - Como é realizada a compilação ou recompilação de regras nos sistemas Senior com Tecnologia G5/G6 (XTended).
Importante
A exclusão do arquivo de extensão .BIN pode desativar a eventual auditoria que tenha sido configurada para o arquivo.