- Criado por Fabio Garbin, última alteração por Paulo Reinaldo Tovo Filho em 13 jul, 2023
Você está vendo a versão antiga da página. Ver a versão atual.
Comparar com o atual Ver Histórico da Página
« Anterior Versão 11 Atual »
Correções
Incidente: Finalização inesperada do Totvs Application Server em Linux após a ocorrência de erro crítico registrado no log de console: [THROW] tAutoChar::CheckBuffer() ERROR - *** BUFFER OVERRUN ***
Solução: Mecanismo de verificação de conexão e recepção de dados refatorado para a plataforma Linux.
Referente ao chamado: DTAPPSRV-7278
Incidente: O erro "LOCAL declaration follows executable statement" deixou de ser apresentado a partir da versão 20.3.1.0.
Solução: Foram realizados ajustes pontuais na camada de pré-processamento e o problema foi corrigido.
Referente ao chamado: DTAPPSRV-7158
Incidente: Problema no Try-catch em validações de banco de dados, não estava reconhecendo como um erro.
Solução: Ajustado identificação de conexões e retorno de bancos para enviar para o CATCH.
Referente ao chamado: DTAPPSRV-7104
Incidente: Quando alguma thread do AppServer está realizando a atualização automática do SmartClient, qualquer outra thread que executar a função File2Printer vai tentar executar o printer.exe no diretório da atualização automática por ser o diretório corrente.
Solução: Define a chamada ao executável printer.exe na File2Printer para utilizar o full path de execução do AppServer, garantindo que será executado no diretório do AppServer.
Referente ao chamado: DTAPPSRV-7295
Incidente: Finalização inesperada do TOTVS Application Server em execução de múltiplas conexões de RPC AdvPL (Server Side).
Solução: Protegido um ponto de colisão entre uma finalização de conexão e o aceite de uma requisição de processamento.
Referente ao chamado: DTAPPSRV-7206
Incidente: Incidente: Quando alguma thread do AppServer está realizando a atualização automática do SmartClient, qualquer outra thread que executar a função File2Printer vai tentar executar o printer.exe no diretório da atualização automática por ser o diretório corrente.
Solução: Definida a chamada ao executável printer.exe na File2Printer para utilizar o fullpath de execução do AppServer, garantindo que será executado no diretório do AppServer.
Referente ao chamado: DTAPPSRV-7295
Incidente: A ocorrência de erro na camada REST poderia gerar falha no tratamento das mensagens do protocolo e fazer com que as conexões permanecessem ativas, gerando um acumulo de handles da camada TCP, consequentemente gerando um aumento no consumo de memória por parte do AppServer.
Solução: Fizemos um ajuste na camada de tratamento das mensagens de erro para evitar o comportamento em questão, melhorando assim a contabilização do consumo de memória.
Referente ao chamado: DTAPPSRV-7044
Incidente: A utilização de funções AdvPL que geram troca de mensagens entre o SmartClient e o AppServer poderiam 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-7174
Incidente: O LogClient não funciona em sistema operacional Linux.
Solução: Implementada correção para o envio de logs quando configurado a seção LogClient.
Referente ao chamado: DTAPPSRV-7183
Incidente: Endpoint com parâmetro(pathParam) codificado falha.
Solução: Implementação realizada para permitir que seja repassado path codificado com barra ("%2F" "/" ).
Referente ao chamado: DTAPPSRV-7217
Incidente: AppServer configurado com REST com ocorrência de Access Violation.
Solução: Correções realizadas no componente do REST.
Referente ao chamado: DTAPPSRV-7288
Melhorias
Situação: Para incluir novos servidores a serem balanceados, era preciso reiniciar o Broker.
Solução: Implementação do recurso para incluir servidores a serem balanceados pelo Broker sem a necessidade de reinicialização, por meio do uso do arquivo de comandos .TOTVS_BROKER_COMMAND.
Referente ao chamado: DTAPPSRV-6162
Incidente: A função FindFunction não tem o funcionamento correto quando feito em fontes PRW para funções TLPP.
Solução: Foi implementado um novo parâmetro na função FindFunction que permite buscar funções com nomes longos, por exemplo, funções em fontes TLPP.
Para usar:
FindFunction("nome da função", [buscar com nomes longos])
Se [buscar com nomes longos] estiver como verdadeiro (.T.) irá procurar por nomes longos, se o valor for passado como falso (.F.) irá procurar por nomes curtos.
Se o parâmetro não for informado continua fazendo a busca como é hoje, em AdvPL com nomes curtos e em TLPP com nomes longos.
Referente ao chamado: DTAPPSRV-4615
Novas Implementações
- Sem rótulos