Árvore de páginas

Versões comparadas

Chave

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

Pagetitle
Application Server - 20.3.1.34
Application Server - 20.3.1.3

Estado
colourYellow
titleEM DESENVOLVIMENTO

Exibir filhos

Correções

Melhorias

.4


Exibir filhos

Correções

Expandir
title4GL - Access Violation e4GLBlockStmt

Incidente: Ao executar o comando de SQL em bloco, sem realizar a conexão com o banco dinamicamente ou via comando DATABASE no mesmo fonte, o server aborta a execução

Solução:  O modelo de conexão com o banco tinha a falha que não encontrava o fonte na chamada fora da execução do bloco SQL 

Referente ao chamado: DTAPPSRV-6794

Expandir
title4GL - Instrução DISCONNECT <alias> causa queda do Application Server

Incidente: Em determinada situação especifica o DISCONNECT causa queda do Application Server.

Solução: Foi corrigido o comando DISCONNECT, avaliando o serviço de conexão com o banco. 

Referente ao chamado: DTAPPSRV-6883

Expandir
titleFalha da geração de patch a partir de RPO CUSTOM em fontes 4gl

Incidente: Ao tentar gerar um patch a partir de RPO CUSTOM com fontes 4gl, apresenta o erro "file not found or not accessible"

Solução:Foi implementado a assinatura de funções para o rpo 4gl para permitir a geração do patch. 

Referente ao chamado: DTAPPSRV-6903

Expandir
titleFalha na autenticação SFTP utilizando usuário, senha em conjunto com certificado

Incidente: Falha na autenticação SFTP utilizando usuário, senha em conjunto com certificado

Solução: Reimplementado o componente de conexão do SFTP permitindo que o usuário possa selecionar um parâmetro chamado AUTH_MODE para selecionar como é feita a conexão com o servidor remoto.

Referente ao chamado: DTAPPSRV-6640

Expandir
titleRetirar mensagem de número máximo de conexões na tela de consulta do Broker HTTP

Incidente: A tela de consulta do Broker HTTP estava apresentando a mensagem "Número máximo de conexões simultâneas: 5000". No entanto, esta mensagem só se aplica ao Broker para Smartclient.

Solução: Foram realizadas modificações na estrutura do Broker para que a mensagem apenas seja apresentada no Broker Smartclient. 

Referente ao chamado: DTAPPSRV-6725

Expandir
titleConexão de banco de dados indevida numa execução advpl com exception que não tem qualquer ação de Banco

Incidente:Em algumas situações, mesmo sem os comandos como DATABASE ou realizando conexão dinamica, o banco conecta

Solução:Foi alterado a forma de conexao com o banco, e no carregamento da biblioteca logixdbapi.dll 

Referente ao chamado: DTAPPSRV-6797

Expandir
title4GL - Debug de um fonte 4gl aciona a primeira linha em toda nova função

Incidente: Ao realizar o debug de um fonte 4gl, a entrada de uma nova função sempre leva a primeira linha fonte.

Solução: Correção no comando implícito interno que gera esse comportamento durante o debug, indo para primeira linha em todo momento da entrada de uma nova função. 

Referente ao chamado: DTAPPSRV-6831

Expandir
title4GL - RPO CUSTOM x DEFAULT - Prioridade de execução de funções duplicadas em ambos RPOS está incorreta

Incidente: Quando SERVERTYPE=4GL, a prioridade de execução de funções duplicadas em ambos RPOS estava incorreta.

Solução: Ajuste na checagem de objetos do RPO para funcionar de maneira adequada. Isso afeta apenas quando AppServer está configurado com SERVERTYPE=4GL.

Referente ao chamado: DTAPPSRV-6843

Expandir
titleTravamento da interface no uso de janela modal de um objeto tGet

Incidente: Uma janela modal de Consulta Padrão de um campo TGet poderia se sobrepor a outra janela modal de um Processa() criada durante a execução do bValid de outro campo, fazendo com que essa última jamais pudesse ser encerrada, travando o acesso a interface. Exemplo: RECÁLCULO DE IMPOSTO na Venda Assistida.

Solução: Proteção para evitar que uma janela de Consulta Padrão seja criada durante a execução do bValid de um TGet, evitando a sobreposição de janelas modais.

Referente ao chamado: DTAPPSRV-6876

Expandir
titleFunção Directory com cAtributos limitação de leitura de pastas, não lista arquivos e pastas

Incidente: A função AdvPL Directory não está retornando corretamente quando é informado um índice junto com a flag de diretório (ex: D:1000).

Solução: Corrigido o comportamento da função Directory quando é informado um índice.

Referente ao chamado: DTAPPSRV-6891

Expandir
titleFOREACH CURSOR - ERRO: TC_GetIsNull - internal error

Incidente: Durante a execução em 4GL do PREPARE, a tradução para o SELECT estava incompatível com a versão direta do SELECT.

Solução: Corrigido a tradução, deixando compatível entre os dois casos. 

Referente ao chamado: DTAPPSRV-6917

Expandir
titleCorreção no contador de uso de variáveis globais

Incidente: Valor mostrado no consumo de memória de variáveis globais ( Variable Glb List ... XXXXX kB. Count YYY ) mostrava valor maior que o consumo real, causando a falsa impressao de Leak de memória. 

Correção: Corrigido o contador de memória para refletir o valor correto.

Referente ao chamado: DTAPPSRV-6954

Expandir
title4GL - Ocorrência de queda durante a execução do Console de Atualização Logix

Incidente: Durante a execução do Console de Atualização Logix, ao aplicar um novo pacote gerava um erro de Access Violation no Application Server.

Solução: Alterado o processo de compilação de fontes 4GL, para identificar variáveis não declaradas que eram utilizadas no returning.

Referente ao chamado: DTAPPSRV-6968

Expandir
titleOcorrência de queda na parada do Server seja via Serviço e ou console (ctrl+c)

Incidente: Problemas relacionados a queda durante compilação ou fechamento do Application Server, relacionados ao REST.

Solução: Correção atuando durante a execução do REST impedindo quedas e travamentos.

Referente ao chamado: DTAPPSRV-6969

Expandir
titleErro ao desabilitar as cifras e protocolos TLS

Ocorrência: Erro ao desabilitar as cifras e protocolos TLS.

Solução: Correção na inicialização para ativar apenas as cifras e protocolos habilitados.

Referente ao chamado: DTAPPSRV-6970

Expandir
titleA execução da TCDBInsert através do fonte de relatório FINR550 causa uma ocorrência de Access Violation e finaliza o AppServer de forma inesperada

Incidente: A aplicação poderia apresentar uma finalização inesperada durante a execução das função AdvPL TCDBInsert, dado a utilização das funções de conversão de datas - DTOS, DTOC e similares.

Solução: Fizemos um ajuste na aplicação para evitar o problema observado durante as conversões de datas dentro das chamadas da TCDBInsert. 

Referente ao chamado: DTAPPSRV-6988

Expandir
titleAccess Violation - Na impressão das informações da configuração ServermemoryInfo

Incidente: Quando do uso da chave ServerMemoryInfo, em determinadas situações do conteúdo das mensagens de observação das threads poderia ocasionar erro no Application Server.

Solução: Correção no momento da impressão das informações da chave ServerMemoryInfo e inclusão da versão do Application Server nas informações.

Referente ao chamado: DTAPPSRV-7007

Expandir
titleFunção file2printer com problemas para imprimir com WebAgent

Incidente: A função file2printer não imprime PDF nem XLS via Client utilizando WebApp com WebAgent.

Solução: A função file2printer recebeu uma correção para imprimir corretamente via Client no WebAgent.

Referente ao chamado: DTAPPSRV-7051



Expandir
titleApplication Server poderia apresentar uma ocorrência de Access Violation durante a troca de mensagens com o SmartClient Desktop

Incidente: A utilização de funções AdvPL que geram troca de mensagens entre o SmartClient e o AppServer poderia ocasionar uma falha e queda na aplicação.

Solução: Foram criadas proteções na camada de troca de mensagens de eventos entre o SmartClient e o AppServer para evitar que a queda em questão volte a ocorrer. 

Referente ao chamado: DTAPPSRV-6827

Expandir
titleLog de repositório não registra patch do rpo custom no Vscode

Incidente: Funcionalidade Log de Repositório do TDS-VSCode não estava retornando informações sobre patchs aplicados no RPO Custom, retornava apenas informações do RPO Default.

Solução: Foram realizados ajustes na rotina para que seja retornado informações de patchs do RPO Custom e Default. A solução completa depende da atualização do plugin TOTVS Developer Studio

Referente ao chamado: DTAPPSRV-6853

Expandir
titleClasse TMailManager - TimeOut

Incidente: Mesmo com timeout configurado na TMailManager, ao enviar mensagens, a classe retornava erro de timeout, além de não ser possível ver o código de erro retornado pelo servidor.

Solução: Corrigido na TMailManager a definição dos valores de timeout e adicionado mensagens com o código de retorno do servidor SMTP ao ligar a chave Verbose na seção Mail do arquivo appserver.ini.

Referente ao chamado: DTAPPSRV-6863

Expandir
titleErro montagem SQL utilizarm a instrução OUTER

Incidente: Problema na execução de queries em 4GL utilizando OUTER.

Solução: Corrigido a tradução das queries, antes de sua execução no banco.

Referente ao chamado: DTAPPSRV-6890

Expandir
titleAccess Violation: tRPOAdvpl::Close() - DELETED WHILE RUNNING

Incidente: Queda do APPServer com ocorrência crítica "Stack Overflow Found" ao fechar um RPO auxiliar de calculo da folha de pagamento, com um fonte do RPO auxiliar carregado no stack.

Correção: Não é possível fechar o RPO auxiliar com programas do proprio RPO auxiliar em execução, mas ao invés de gerar um erro critico de Stack Overflow e derrubar o TOTVS Application Server, será gerado um error.log com a mensagem "Auxiliary RPO locked by running program".

Referente ao chamado: DTAPPSRV-6898

Expandir
titleErro ao tentar gerar planilha com a classe FwPrinterXlsx

Incidente: Queda do APPServer com ocorrência crítica "Stack Overflow Found" ao fechar um RPO auxiliar de calculo da folha de pagamento, com um fonte do RPO auxiliar carregado no stack.

Correção: Não é possível fechar o RPO auxiliar com programas do proprio RPO auxiliar em execução, mas ao invés de gerar um erro critico de Stack Overflow e derrubar o TOTVS Application Server, será gerado um error.log com a mensagem "Auxiliary RPO locked by running program".

Referente ao chamado: DTAPPSRV-6932

Expandir
titleBroker Agent configuração como serviço windows

Incidente: não estava sendo possível utilizar o Broker Agent como um serviço Windows.

Solução: corrigido o processo de inicialização do serviço. (A instalação do serviço já estava funcionando).

Referente ao chamado: DTAPPSRV-6966

Expandir
titleOcorrência de queda quando ocorre erro na aplicação de Patch

Incidente: Em algumas situações de erro na aplicação de patch estava havendo queda do Application Server.

Solução: Melhoria no tratamento de erros na aplicação de patch para não causar queda do Application Server.

Referente ao chamado: DTAPPSRV-7053


Melhorias

Expandir
titleImplementar registro da versão da DBSrv no console semelhante ao que ocorre na carga da DBAPI

Problema: Informar no Application Server as informações sobre build e versão da DBSRV quando ela é carregada.

Solução: Adicionado na carga da DBSRV no Application Server as informações sobre build e versão.

Referente ao chamado: DTAPPSRV-6942

Expandir
titleMelhoria nos planos de escalabilidade do Broker Agent

Incidente: Broker estava permitindo especificar planos de escalabilidade incompletos, isto é, com períodos de tempo que não estavam coberto por nenhum plano.

Solução: Melhorias na consistência dos períodos dos planos de escalabilidade do Broker Agente. Se houver algum algum período que não estiver coberto por um plano o Broker não será iniciliazado.

Referente ao chamado: DTAPPSRV-6993

Expandir
titleAlteração para Broker Agent rodar em máquina diferente do broker

Incidente: Broker Agent estava sempre tentando se conectar com o Broker no ip 127.0.0.1.

Solução: corrigido para respeitar a chave BrokerServer na seção BROKER_AGENT no arquivo de configuração appserver.ini.

Referente ao chamado: DTAPPSRV-7001

Expandir
titleAlterar o default da configuração SORT_METHOD para SERVER_MEMORY no Broker

Incidente: em alguns cenários com Broker Smartclient ocorria consumo elevado de memória em Application Servers, enquanto outros Application Servers com pouco consumo de memória não estavam sendo utilizados. Isto ocorria porque o método de balanceamento utilizado no Broker era "por conexões".

Solução: foi alterado o método de balanceamento padrão no Broker Smartclient de "por conexões" para "por consumo de memória", diminuindo a possibilidade de ocorrência do incidente.

Referente ao chamado: DTAPPSRV-7009

Expandir
titleAlteração para o Application Server Linux não precisar da variável LD_LIBRARY_PATH

Incidente: Necessidade de configurar a variável de ambiente LD_LIBRARY_PATH para correta inicialização do AppServer em sistemas operacionais Linux.

Solução: A partir dessa versão não é mais necessário configurar a variável de ambiente LD_LIBRARY_PATH, pois o AppServer irá procurar as dependências automaticamente no diretório de trabalho (mesmo diretório do INI). Essa alteração não modifica a precedência da LD_LIBRARY_PATH controlada pelo sistema operacional.

Referente ao chamado: DTAPPSRV-7008

Novas Implementações

Expandir
titleImplementar função HTTPSQUOTE

Incidente: Não é possível utilizar a HTTPQuote passando um arquivo de certificado e chave, nos moldes das funções HTTPSGet e HTTPSPost.

Solução: Criada a função HTTPSQuote, que permite passar certicado, chave e senha para realizar a comunicação.

Referente ao chamado: DTAPPSRV-6951

Expandir
titleFunção GetSrvArch para obter a arquitetura do processador.

Incidente: Não era possível identificar a arquitetura do processador que está sendo executado o Application Server.

Solução: Implementada a função GerSrvArch para obter a arquitetura do processador que esta sendo executado o Application Server. A informação também foi incluída no array de retorno da função GetSrvInfo.

Referente ao chamado: DTAPPSRV-6912

Expandir
titleSuporte a autenticação MTLS

Incidente: Conseguir fazer o servidor HTTP do AppServer validar o certificado enviado pelo cliente, permitindo assim o uso do mTLS.

Solução: Adicionado para a chave ClientCertVerify da seção HTTPS o valor 3, que fará o servidor validar o certificado do cliente e caso não valide, irá fechar a conexão. Foram também criadas na configuração de Servers da seção HTTPServer as chaves SSLCertificateCA (permite configurar o certificado de CA) e SSLCheckClientCert (permite ligar ou não a verificação do certificado de cliente, derrubando a conexão caso não valide).

Referente ao chamado: DTAPPSRV-6958

...