Árvore de páginas

Versões comparadas

Chave

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

...

Exibir filhos

Correções

Expandir
titleMPFD (Multipart/Form-data) não está funcionando no Rest

Incidente:  MPFD (Multipart/Form-data) parou de funcionar no Rest, não fazendo mais download de arquivos.

Solução: correção para retornar o comportamento anterior e com isto permitir a gravação do arquivo em disco e retornar para o usuário o Json contendo as informações.

Referente ao chamado: DTAPPSRV-7391

Falha na inicialização do Rest após processo de compilação e desfragmentação de RPO.

Incidente:  o realizar a compilação de um fonte e logo em seguida realizar o procedimento de desfragmentação, o serviço de REST não sobe mais e apresenta o erro "FUNCTION TLPP.REST.HANDLEREST NOT FOUND". Além disso, vários outros recursos do ERP passam a apresentar "500 - Erro interno do servidor".

Solução: foi protegido o acesso ao Rpo TLpp.

Referente ao chamado: DTAPPSRV-7468

Expandir
titleDeclaração de JSON no TLpp não suporta Array

Incidente:  a implementação de JSON direto no fonte TLpp não suporta o uso de array. Também não suportava tipos de dados primários JSON (true, false, null). 

Solução: implementado o tratamento de objetos JSON conforme a RFC.

Documentação: Json

Expandir
titleFunção SFTPUpld2 retorna Login Denied no Application Server

Incidente:  falha no uso de certificados de login ssh2-rsa na função SFTPUpld2.

Solução: correções realizadas no componente para utilização de certificados.

Referente ao chamado: DTAPPSRV-70832765

Expandir
titleFunção SFTPdwl2 com problemas na utilização de certificado para login.MPFD (Multipart/Form-data) não está funcionando no Rest

Incidente:  MPFD (Multipart/Form-data) parou de funcionar no Rest, não fazendo mais download de arquivos.

Solução: correção para retornar o comportamento anterior e com isto permitir a gravação do arquivo em disco e retornar para o usuário o Json contendo as informações

Incidente: problemas na utilização de certificado para login.

Solução: correções na utilização de certificado.

Referente ao chamado: DTAPPSRV-72527391

Expandir
titleInterface PO-UI via chave app_environment com ocorrência de erro: [SQLITE] Open Query Error: no such table: dbTemp.tmp_Função SFTPUpld2 retorna Login Denied no Application Server

Incidente:  falha no uso de certificados de login ssh2-rsa na função SFTPUpld2.

Solução: correções realizadas no componente para utilização de certificados.

Referente ao chamado: DTAPPSRV-7083

Expandir
titleFunção SFTPdwl2 com problemas na utilização de certificado para login.

Incidente: problemas na utilização de certificado para login.

Solução: correções na utilização de certificado

Incidente: ao utilizar a interface PO-UI em um ambiente com SQLite como database principal (RPODB=SQLITE), a emissão de uma query para abertura da tabela temporária falhava apresentando a mensagem de erro:
"[SQLITE] Open Query Error: no such table: dbTemp.tmp_29892_SC00 on MPSYSOPENQUERY(MPSYSOPENTABLES.PRW) 05/09/2022 10:01:39 line : 712"

Solução: para evitar essa falha, alteramos o tratamento de tabelas temporárias no database DB_TMP e passamos a criar a tabela temporária no próprio DB_SYS.

Referente ao chamado: DTAPPSRV-69437252

Expandir
title[HTTPPost] Lentidão no consumo de API específica no AdvPL

Incidente: ao consumir determinadas APIs via AdvPL, a resposta de retorno estava demorando muito, entre 4 e 5 minutos.

Solução: foram realizados ajustes no separador de linhas de recebimento do header HTTP para suportar o delimitador '\n'.

Referente ao chamado: DTAPPSRV-7280

Interface PO-UI via chave app_environment com ocorrência de erro: [SQLITE] Open Query Error: no such table: dbTemp.tmp_

Incidente: ao utilizar a interface PO-UI em um ambiente com SQLite como database principal (RPODB=SQLITE), a emissão de uma query para abertura da tabela temporária falhava apresentando a mensagem de erro:
"[SQLITE] Open Query Error: no such table: dbTemp.tmp_29892_SC00 on MPSYSOPENQUERY(MPSYSOPENTABLES.PRW) 05/09/2022 10:01:39 line : 712"

Solução: para evitar essa falha, alteramos o tratamento de tabelas temporárias no database DB_TMP e passamos a criar a tabela temporária no próprio DB_SYS.

Expandir
titleOcorrência de queda no Linux com erro "[THROW] tAutoChar::CheckBuffer() ERROR - *** BUFFER OVERRUN ***"

Incidente: no Application Server Linux, à medida que o número de handles de arquivos e sockets aumentava, havia o risco de queda do Application Server por deficiência no tratamento de eventos de rede.

Solução: melhorado o tratamento de eventos de rede pelo Application Server no ambiente Linux, evitando as quedas relatadas.

Referente ao chamado: DTAPPSRV-70416943

Expandir
titleQueda no Application Server quando a chave tlpp_rest_log configurada com valor igual a 1 e o path da pasta do AppServer contém espaços.[HTTPPost] Lentidão no consumo de API específica no AdvPL

Incidente: ao consumir determinadas APIs via AdvPL, a resposta de retorno estava demorando muito, entre 4 e 5 minutos.

Solução: foram realizados ajustes no separador de linhas de recebimento do header HTTP para suportar o delimitador '\n'

Incidente: queda no Application Server em Serviço Rest quando a chave tlpp_rest_log configurada com valor igual a 1 e o path da pasta do AppServer contém espaços.

Solução: correção realizada dentro do componente Vader para o tratamento correto do path de arquivos.

Referente ao chamado: DTAPPSRV-73067280

Expandir
titleProblema na criação de tela usando ADVPL e Code Block, ocasionando queda do Application Server.Ocorrência de queda no Linux com erro "[THROW] tAutoChar::CheckBuffer() ERROR - *** BUFFER OVERRUN ***"

Incidente: no Application Server Linux, à medida que o número de handles de arquivos e sockets aumentava, havia o risco de queda do Application Server por deficiência no tratamento de eventos de rede.

Solução: melhorado o tratamento de eventos de rede pelo Application Server no ambiente Linux, evitando as quedas relatadas

Incidente: problema na criação de tela usando ADVPL e Code Block, ocasionando queda do Application Server.

Solução: proteção e checagem na lista de code block.

Referente ao chamado: DTAPPSRV-72747041

Expandir
titleFalha no funcionamento do Broker Agent identificado na versão 20.3.1.9Queda no Application Server quando a chave tlpp_rest_log configurada com valor igual a 1 e o path da pasta do AppServer contém espaços.

Incidente: queda no Application Server em Serviço Rest quando a chave tlpp_rest_log configurada com valor igual a 1 e o path da pasta do AppServer contém espaços.

Solução: correção realizada dentro do componente Vader para o tratamento correto do path de arquivos

Incidente: não estava sendo possível utilizar o Broker Agent na versão 20.3.1.9. As instâncias de Application Server não estavam sendo criadas.

Solução: corrigido o tratamento do arquivo de configuração do Broker Agent que estava causando este comportamento.

Referente ao chamado: DTAPPSRV-73177306

Expandir
titleAccess Violation - HTTP_Cookies_s::parseProblema na criação de tela usando ADVPL e Code Block, ocasionando queda do Application Server.

Incidente: problema na criação de tela usando ADVPL e Code Block, ocasionando queda do Application Server.

Solução: proteção e checagem na lista de code block

Incidente: Access Violation dentro do Vader envolvendo o tratamento de Cookies HTTP

Solução: revisado e corrigido o componente interno.

Referente ao chamado: DTAPPSRV-73487274

Expandir
titleApplication Server apresenta falha na execução da função HttpSGet utilizando certificado com path absoluto.Falha no funcionamento do Broker Agent identificado na versão 20.3.1.9

Incidente: não estava sendo possível utilizar o Broker Agent na versão 20.3.1.9. As instâncias de Application Server não estavam sendo criadas.

Solução: corrigido o tratamento do arquivo de configuração do Broker Agent que estava causando este comportamento

Incidente: o mecanismo de reinicialização da camada do App Monitor evidenciou uma falha na HttpSGet quando utilizamos certificado e chave privada armazenados em path absoluto.

Solução: fizemos um ajuste para viabilizar a utilização de certificado e chave privada armazenados em uma pasta diferente do RootPath, evitando a falha em questão.

Referente ao chamado: DTAPPSRV-73837317

Expandir
titleQueda de performance em rotinas de integração ExcelAccess Violation - HTTP_Cookies_s::parse

Incidente: após atualização do AppServer foi identificado um problema de serialização na conexões RPC que impactaram na performance das rotinas de Integração Excel.Access Violation dentro do Vader envolvendo o tratamento de Cookies HTTP

Solução: revisado e corrigido o componente internoSolução: foi aplicada uma correção na camada de conexões RPC para evitar este comportamento, devolvendo a performance esperada para a integração.

Referente ao chamado: DTAPPSRV-74287348

Expandir
titleUpload em lote de arquivos utilizando rotinas RestApplication Server apresenta falha na execução da função HttpSGet utilizando certificado com path absoluto.

Incidente: erro no upload de arquivos utilizando rotinas RESTo mecanismo de reinicialização da camada do App Monitor evidenciou uma falha na HttpSGet quando utilizamos certificado e chave privada armazenados em path absoluto.

Solução: correção no tratamento de upload de arquivosfizemos um ajuste para viabilizar a utilização de certificado e chave privada armazenados em uma pasta diferente do RootPath, evitando a falha em questão.

Referente ao chamado: DTAPPSRV-74387383

Expandir
title"Insufficient Buffer on tString::sprintf()" ao processar um Json inválido, observado em alguns casos específicos com arquivos Json muito grandes.Queda de performance em rotinas de integração Excel

Incidente: após atualização do AppServer foi identificado um problema de serialização na conexões RPC que impactaram na performance das rotinas de Integração Excel.

Solução: foi aplicada uma correção na camada de conexões RPC para evitar este comportamento, devolvendo a performance esperada para a integração

Incidente: "Insufficient Buffer on tString::sprintf()" ao processar um Json inválido, observado em alguns casos específicos com arquivos Json muito grandes.

Solução: correção no tratamento de arquivos Json.

Referente ao chamado: DTAPPSRV-73347428

Expandir
titleEnvio de PDF por API REST para URL formatadaUpload em lote de arquivos utilizando rotinas Rest

Incidente: erro no upload de arquivos utilizando rotinas REST.

Solução: correção no tratamento de upload de arquivos

Incidente: Application Server estava apresentando lentidão ao realizar uma requisição PUT via Rest. A aplicação estava pegando o content-length da requisição de forma incorreta, por isso ficava esperando por um body como resposta, o que dava a impressão de baixo desempenho.

Solução: foram realizados ajustes para que o content-length seja consumido da forma correta.

Referente ao chamado: DTAPPSRV-72947438

Expandir
titleTWsdlManager - erro 401 Unauthorized"Insufficient Buffer on tString::sprintf()" ao processar um Json inválido, observado em alguns casos específicos com arquivos Json muito grandes.

Incidente: "Insufficient Buffer on tString::sprintf()" ao processar um Json inválido, observado em alguns casos específicos com arquivos Json muito grandes.

Solução: correção no tratamento de arquivos Json

Incidente: utilizando a classe TWSDLManager, ao fazer o parse de um WSDL que necessita de autenticação HTTP e que existe um redirect para outra URL, necessitando dos mesmos dados de autenticação, o parse falhava.

Solução: criada a propriedade lHTTPTransferAuth na classe TWSDLManager, que permite transferir os dados de autenticação HTTP em caso de redirect da URL. O valor padrão dessa propriedade é true (.T.).

Referente ao chamado: DTAPPSRV-74647334

Expandir
titleErro na recepção de arquivos do Rest 2.0Envio de PDF por API REST para URL formatada

Incidente: Application Server estava apresentando lentidão ao realizar uma requisição PUT via Rest. A aplicação estava pegando o content-length da requisição de forma incorreta, por isso ficava esperando por um body como resposta, o que dava a impressão de baixo desempenho.

Solução: foram realizados ajustes para que o content-length seja consumido da forma correta

Incidente: erro na execução de download de arquivos através das rotinas REST.

Solução: correção no tratamento do MFPD (Multi forma part data).

Referente ao chamado: DTAPPSRV-74557294

Expandir
titleFunções AdvPL relacionadas ao RPO Seguro tratando incorretamente o tipo de RPOTWsdlManager - erro 401 Unauthorized

Incidente: funções AdvPL relacionadas ao RPO seguro não estavam respeitando corretamente as definições de tipo de RPO e com isso, falhando nas consultas e acessosutilizando a classe TWSDLManager, ao fazer o parse de um WSDL que necessita de autenticação HTTP e que existe um redirect para outra URL, necessitando dos mesmos dados de autenticação, o parse falhava.

Solução: ajustes e correções para correto acesso aos RPOS TLPP, Custom e Default. criada a propriedade lHTTPTransferAuth na classe TWSDLManager, que permite transferir os dados de autenticação HTTP em caso de redirect da URL. O valor padrão dessa propriedade é true (.T.).

Referente ao chamado: DTAPPSRV-74457464

Expandir
titleUso do logprofiler no License Server derruba o Application Server após ocorrência de erro "Insufficient buffer on tString:sprintf()"Erro na recepção de arquivos do Rest 2.0

Incidente: erro na execução de download de arquivos através das rotinas REST.

Solução: correção no tratamento do MFPD (Multi forma part data)

Incidente: insufficient Buffer on tString::sprintf() durante a geração de um logprofiler.

Solução: impor um limite de 256 bytes para definir uma string de "observação" para a Thread / Processo atual.

Referente ao chamado: DTAPPSRV-74447455

Expandir
titleLog do Broker Agent crescendo muito rapidamenteFunções AdvPL relacionadas ao RPO Seguro tratando incorretamente o tipo de RPO

Incidente: funções AdvPL relacionadas ao RPO seguro não estavam respeitando corretamente as definições de tipo de RPO e com isso, falhando nas consultas e acessos.

Solução: ajustes e correções para correto acesso aos RPOS TLPP, Custom e Default

Incidente: possibilidade de crescimento indiscriminado do log do Broker Agent quando executado em modo desktop.

Solução: melhorado o tratamento de eventos de teclado (Ctrl-C etc) que estava causando o crescimento indiscriminado do log do Broker Agent.

Referente ao chamado: DTAPPSRV-74207445

Expandir
titleOcorrência de queda no Application Server com a chave ADVSQLREPLAY habilitadaUso do logprofiler no License Server derruba o Application Server após ocorrência de erro "Insufficient buffer on tString:sprintf()"

Incidente: insufficient Buffer on tString::sprintf() durante a geração de um logprofiler.

Solução: impor um limite de 256 bytes para definir uma string de "observação" para a Thread / Processo atual

Incidente: finalização inesperada do TOTVS Application Server ao utilizar o rastreio de conexões com o DBACCESS ADVSQLREPLAY em uma situação em que a aplicação AdvPL tem duas ou mais conexões ativas e fecha a primeira conexão aberta com TCUNLINK().

Solução: corrigida a busca na lista de conexões ativas.

Referente ao chamado: DTAPPSRV-74097444

Expandir
titleArquivo sso\\etc\\services.conf vazio utilizado pelo SAML causando queda do Application Server

Incidente: o arquivo sso\etc\services.conf em branco utilizado pelo SAML estava causando a queda do Application Server.

Solução: checagem do arquivo services.conf e mensagem de erro no console durante a execução, caso o arquivo esteja em branco.

Referente ao chamado: DTAPPSRV-7402

Log do Broker Agent crescendo muito rapidamente

Incidente: possibilidade de crescimento indiscriminado do log do Broker Agent quando executado em modo desktop.

Solução: melhorado o tratamento de eventos de teclado (Ctrl-C etc) que estava causando o crescimento indiscriminado do log do Broker Agent.

Referente ao chamado: DTAPPSRV-7420

Expandir
titleOcorrência de queda no Application Server com a chave ADVSQLREPLAY habilitada

Incidente: finalização inesperada do TOTVS Application Server ao utilizar o rastreio de conexões com o DBACCESS ADVSQLREPLAY em uma situação em que a aplicação AdvPL tem duas ou mais conexões ativas e fecha a primeira conexão aberta com TCUNLINK().

Solução: corrigida a busca na lista de conexões ativas

Expandir
titleQuery com estrutura inválida de campos no SQLITE.

Incidente: select * de tabela SQLITE após apagar e recriar a tabela com nova estrutura diferente da anterior, retornava a primeira estrutura da tabela, pois ao apagar a tabela, um cache de resolução de queries não era apagado.

Solução: limpar o cache de estrutura de retorno de Queries relacionado a uma tabela, quando ela for eliminada.

Referente ao chamado: DTAPPSRV-73957409

Expandir
titleSymtab em uso após compilação.Arquivo sso\\etc\\services.conf vazio utilizado pelo SAML causando queda do Application Server

Incidente: ao forçar uma compilação com a chave BUILDKILLUSERS e Servidor Rest ativos, o serviço Rest era corretamente interrompido. Porém, ao tentar conectar novamente ao serviço Rest (exemplo: Webmonitor e TLPP Monitor) ocorria o erro "SYMTAB in use for addSourceInfo...".

Solução: foram realizadas correções pontuais no Servidor de Aplicação (Application Server).

Referente ao chamado: DTAPPSRV-7375

o arquivo sso\etc\services.conf em branco utilizado pelo SAML estava causando a queda do Application Server.

Solução: checagem do arquivo services.conf e mensagem de erro no console durante a execução, caso o arquivo esteja em branco.

Referente ao chamado: DTAPPSRV-7402

Expandir
titleQuery com estrutura inválida de campos no SQLITE.

Incidente: select * de tabela SQLITE após apagar e recriar a tabela com nova estrutura diferente da anterior, retornava a primeira estrutura da tabela, pois ao apagar a tabela, um cache de resolução de queries não era apagado.

Solução: limpar o cache de estrutura de retorno de Queries relacionado a uma tabela, quando ela for eliminada

Expandir
titleErro de CORS usando fetch.

Ocorrência: requisições em REST com "origin: null" estavam falhando por causa do tratamento de CORS.

Solução: corrigido o tratamento de CORS para aceitar requisições com "origin: null".

Referente ao chamado: DTAPPSRV-73607395

Expandir
titleOcorrência de access violation no AppServer em execução de Job.

Ocorrência: access Violation no Application Server causado pela soma entre variáveis definida como Char (tipagem forte) e string.

Correção: proteção para não permitir operação de soma, apresentando mensagem de erro durante a execução.

Referente ao chamado: DTAPPSRV-7355

Symtab em uso após compilação.

Incidente: ao forçar uma compilação com a chave BUILDKILLUSERS e Servidor Rest ativos, o serviço Rest era corretamente interrompido. Porém, ao tentar conectar novamente ao serviço Rest (exemplo: Webmonitor e TLPP Monitor) ocorria o erro "SYMTAB in use for addSourceInfo...".

Solução: foram realizadas correções pontuais no Servidor de Aplicação (Application Server).

Referente ao chamado: DTAPPSRV-7375

Expandir
titleErro de CORS usando fetch.

Ocorrência: requisições em REST com "origin: null" estavam falhando por causa do tratamento de CORS.

Solução: corrigido o tratamento de CORS para aceitar requisições com "origin: null"

Expandir
titleWebApp - Problema na montagem de mensagens maiores que 100k no websocket.

Ocorrência: problemas no funcionamento do WebApp causados pelo tratamento de Websockets em um componente do Appserver.

Correção: corrigido o tratamento de Websockets para permitir o funcionamento correto do WebApp com protocolo Websocket.

Referente ao chamado: DTAPPSRV-72057360

Expandir
titleOcorrência de access violation durante assinatura de fontes via AppServer Command Lineno AppServer em execução de Job.

Ocorrência: access Violation durante assinatura de fonte via AppServer Command Line.no Application Server causado pela soma entre variáveis definida como Char (tipagem forte) e string.

Correção: proteção para não permitir operação de soma, apresentando mensagem de erro durante a execuçãoCorreção: inicialização e configuração dos parâmetros SSL.

Referente ao chamado: DTAPPSRV-74317355

Expandir
titleOcorrência de queda ao chamar função HSMObjListWebApp - Problema na montagem de mensagens maiores que 100k no websocket.

Ocorrência: problemas no funcionamento do WebApp causados pelo tratamento de Websockets em um componente do Appserver.

Correção: corrigido o tratamento de Websockets para permitir o funcionamento correto do WebApp com protocolo Websocket

Ocorrência: ao chamar a função HSMObjList com o parâmetro cPass (segundo parâmetro) igual a string vazia e com o dispositivo HSM inicializado, ocorria queda no Application Server.

Correção: foi feito um tratamento para evitar a queda quando o parâmetro cPass estiver vazio.

Referente ao chamado: DTAPPSRV-75107205

Expandir
titleTela branca no WebAppOcorrência de access violation durante assinatura de fontes via AppServer Command Line.

Ocorrência: Erro na apresentação de tela PO-UI quando da utilização do Brokeraccess Violation durante assinatura de fonte via AppServer Command Line.

Correção: Inclusão do parâmetro de path no cookie utilizado pelo brokerinicialização e configuração dos parâmetros SSL.

Referente ao chamado: DTAPPSRV-75337431

Ocorrência : Perdas significativas de desempenho em ambientes que utilizam GRID de processamento AdvPL, Jobs de WebServices, e integrações via RPC, como por exemplo Front Loja e Retaguarda, ao atualizar o Application Server para builds superiores a 20.3.1.5. 

Correção : Corrigida a rotina de verificação de carga de RPO, que causava uma retenção e serialização entre processos. 

Referente aos chamados: DTAPPSRV-7413 e DTAPPSRV-7392. 

Expandir
titleLentidão em RPC, WebSErvices e GRID AdvPL
Ocorrência de queda ao chamar função HSMObjList

Ocorrência: ao chamar a função HSMObjList com o parâmetro cPass (segundo parâmetro) igual a string vazia e com o dispositivo HSM inicializado, ocorria queda no Application Server.

Correção: foi feito um tratamento para evitar a queda quando o parâmetro cPass estiver vazio.

Referente ao chamado: DTAPPSRV-7510

Expandir
titleTela branca no WebApp

Ocorrência: Erro na apresentação de tela PO-UI quando da utilização do Broker.

Correção : Inclusão do parâmetro de path no cookie utilizado pelo broker

Expandir
titleTratamento da criação de índices com campos maior que 10 caracteres

Incidente: Falha de criação de índices em tabelas de uso interno do Framework AdvPL, usando RDD TOPCONN com DBAccess e/ou SQLITE, quando o campo possui nome com mais de 10 caracteres.

Solução:  Criação de índice suportada adequadamente após ajuste na lista de campos do índice no AppServer.

Referente ao chamado: DTAPPSRV-72457533

Expandir
titleError in encode FindBase64Val returning -1: Serviço fica indisponível

Incidente: Ao apresentar Error in encode FindBase64Val returning -1, em algumas ocasiões o serviço ficava indisponível.

Solução:  Correção no tratamento da mensagem.

Referente ao chamado: DTAPPSRV-7253

Lentidão em RPC, WebSErvices e GRID AdvPL

Ocorrência : Perdas significativas de desempenho em ambientes que utilizam GRID de processamento AdvPL, Jobs de WebServices, e integrações via RPC, como por exemplo Front Loja e Retaguarda, ao atualizar o Application Server para builds superiores a 20.3.1.5. 

Correção : Corrigida a rotina de verificação de carga de RPO, que causava uma retenção e serialização entre processos. 

Referente aos chamados: DTAPPSRV-7413 e DTAPPSRV-7392. 


Expandir
titleTratamento da criação de índices com campos maior que 10 caracteres

Incidente: Falha de criação de índices em tabelas de uso interno do Framework AdvPL, usando RDD TOPCONN com DBAccess e/ou SQLITE, quando o campo possui nome com mais de 10 caracteres.

Solução:  Criação de índice suportada adequadamente após ajuste na lista de campos do índice no AppServer

Expandir
titleTratamento de objetos json "inline"

Incidente: O tratamento de objetos Json "inline" não está respeitando o padrão correto de objetos Json, não sendo possível criar objetos Json vazios (ex: { }), arrays de Json [ ] não são criados corretamente e também não permitem que os tipos True, False e Null sejam tratados como tipos Json. 

Solução: O tratamento dos objetos Json foi corrigido para que ele passasse a ser tratado conforme a formatação Json. A principal alteração ocorre com array AdvPL que é representado por "{ }", todavia no padrão Json, isto representa um objeto Json vazio, ou seja, em um código que tenha por exemplo "local jJson := { "chave" : {} }", terá como valor um objeto Json vazio.

Referente ao chamado: DTAPPSRV-72107245

Expandir
titleProblemas com conexão RPC quando Broker está com SSL ativoError in encode FindBase64Val returning -1: Serviço fica indisponível

Incidente: Ao apresentar Error in encode FindBase64Val returning -1, em algumas ocasiões o serviço ficava indisponível.

Solução:  Correção no tratamento da mensagem.Incidente: Falha ao conectar via classe tRPC em um appserver de balanceamento desktop broker com SSL ativo
Solução: O quarto parâmetro do método Connect não estava sendo levado em consideração para ativar o SSL, a partir da próxma versão esse parâmetro passa a ser considerado

Referente ao chamado: DTAPPSRV-7311

...

7253

Expandir
titleSegurança e vulnerabilidades

Atualização de bibliotecas de terceiros e melhorias relacionadas a segurança.

Expandir
titleConsumo de memória - Controle de cache de memória no Linux

Incidente: Comportamento do Sistema Operacional Linux afetava liberação de memória do mecanismo de alocação e controle do Appserver

Solução: Implementado recurso que possibilita o controle do cache de memória realizado pelo sistema operacional Linux, permitindo assim, a liberação de memória quando não utilizada.

Tratamento de objetos json "inline"

Incidente: O tratamento de objetos Json "inline" não está respeitando o padrão correto de objetos Json, não sendo possível criar objetos Json vazios (ex: { }), arrays de Json [ ] não são criados corretamente e também não permitem que os tipos True, False e Null sejam tratados como tipos Json. 

Solução: O tratamento dos objetos Json foi corrigido para que ele passasse a ser tratado conforme a formatação Json. A principal alteração ocorre com array AdvPL que é representado por "{ }", todavia no padrão Json, isto representa um objeto Json vazio, ou seja, em um código que tenha por exemplo "local jJson := { "chave" : {} }", terá como valor um objeto Json vazio.

Referente ao chamado: DTAPPSRV-7210

Expandir
titleProblemas com conexão RPC quando Broker está com SSL ativo

Incidente: Falha ao conectar via classe tRPC em um appserver de balanceamento desktop broker com SSL ativo

Solução: O quarto parâmetro do método Connect não estava sendo levado em consideração para ativar o SSL, a partir da próxma versão esse parâmetro passa a ser considerado

Referente ao chamado: DTAPPSRV-7311

Melhorias

Expandir
titleSegurança e vulnerabilidades

Atualização de bibliotecas de terceiros e melhorias relacionadas a segurança.

Expandir
titleConsumo de memória - Controle de cache de memória no Linux

Incidente: Comportamento do Sistema Operacional Linux afetava liberação de memória do mecanismo de alocação e controle do Appserver

Solução: Implementado recurso que possibilita o controle do cache de memória realizado pelo sistema operacional Linux, permitindo assim, a liberação de memória quando não utilizada.

Expandir
titleImplementar no Monitor Embedded remoção de serviço desativado pelo Broker Agent

Incidente: Em um cenário com Broker Agent e Monitor Embedded no Broker Smartclient, quando o Broker Agent finalizava um serviço este não estava sendo retirado das tabelas de monitoração do Monitor Embedded.

Solução: Implementação de remoção nas tabelas de monitoramento do Monitor Embedded dos serviços que forem finalizados pelo Broker Agent.

Expandir
titleImplementar planos de desligamento no Broker Agent.

Incidente: Cliente necessita desativar o sistema associado a um Broker Agent, e para isso o Broker não deve direcionar novas conexões a esse sistema.

Solução: Implementado scheduling de funcionamento para o Broker Agent. O Broker só direciona novas conexões para os sistemas instanciados pelo Broker Agent nos intervalos de tempos especificados na configuração (ini) do broker Agent.

Expandir
titleServiço WebMonitor subir automaticamente no start do Application Server

Solicitação: serviço WebMonitor subir automaticamente no start do Application Server e também a opção para desligar se necessário com a seção [WEMONITOR] e chave Enable=0 no appserver.ini

Solução: implementado o start automático e a opção para desligar, caso seja necessário.

Referente ao chamado: DTAPPSRV-7376

Expandir
titleDescontinuação da antiga chave de compilação Linux

Solicitação: descontinuar a chave de compilação de compilação Linux baseada no algoritmo AES que foi criada para manter compatibilidade com a antiga chave de compilação.

Solução: remoção do suporte a antiga chave de compilação Linux e a partir de agora, deverá ser utilizado o TOKEN de compilação.

Documentação: AppServer Command Line - Compilação por linha de comando

Referente ao chamado: DTAPPSRV-7264

Incidente: Em um cenário com Broker Agent e Monitor Embedded no Broker Smartclient, quando o Broker Agent finalizava um serviço este não estava sendo retirado das tabelas de monitoração do Monitor Embedded.
Solução: Implementação de remoção nas tabelas de monitoramento do Monitor Embedded dos serviços que forem finalizados pelo Broker Agent.Incidente: Cliente necessita desativar o sistema associado a um Broker Agent, e para isso o Broker não deve direcionar novas conexões a esse sistema.
Solução: Implementado scheduling de funcionamento para o Broker Agent. O Broker só direciona novas conexões para os sistemas instanciados pelo Broker Agent nos intervalos de tempos especificados na configuração (ini) do broker Agent.
Expandir
titleMaior detalhamento sobre erros em caso de falha de criação de tabela usando TCAlter com RPODB=SQLITE e rdd TOPCONN.

Solicitação: em caso de falha de criação de tabela de destino usando TCAlter com RPODB=SQLITE e rdd TOPCONN, a mensagem informativa no log de console não trazia nenhum detalhe adicional da causa da falha, apenas o texto "Error - TC_Alter - (-19) TCAlter Error - Failed to create target table".

Solução: a partir do Application Server versão 20.3.2.0, as informações adicionais indicando a causa da falha serão mostradas após essa informação no log de console

Expandir
titleImplementar no Monitor Embedded remoção de serviço desativado pelo Broker Agent
Expandir
titleImplementar planos de desligamento no Broker Agent.
Expandir
titleServiço WebMonitor subir automaticamente no start do Application Server

Solicitação: serviço WebMonitor subir automaticamente no start do Application Server e também a opção para desligar se necessário com a seção [WEMONITOR] e chave Enable=0 no appserver.ini
Solução: implementado o start automático e a opção para desligar, caso seja necessário.

Referente ao chamado: DTAPPSRV-73767497

Expandir
titleDescontinuação da antiga chave de compilação Linux Queda de desempenho da função STRTRAN gerando lentidão na busca de retorno entre TAF-WS e TSS.

Solicitação: lentidão progressiva no uso da função Strtran() em strings com conteúdos maiores de 1 MB.

Solução: A função STRTRAN foi otimizada, para não haver queda de desempenho com o aumento da string a ser pesquisada e alterada.

Informações Adicionais: A lentidão é observada quando maior a string informada, quanto mais ocorrências forem substituídas, e quando o tamanho do conteúdo a ser alterado é maior ou menor do que o conteúdo a pesquisar.

Solicitação: descontinuar a chave de compilação de compilação Linux baseada no algoritmo AES que foi criada para manter compatibilidade com a antiga chave de compilação.
Solução: remoção do suporte a antiga chave de compilação Linux e a partir de agora, deverá ser utilizado o TOKEN de compilação.

Documentação: AppServer Command Line - Compilação por linha de comando

Referente ao chamado: DTAPPSRV-72647314

Novas Implementações

Expandir
titleConversões de imagens 24BPP

Solicitação: conversões de imagens 24BPP

Solução: suporte a imagens BMP de até 24BPP na função bmptoJPEG.

Referente ao chamado: DTAPPSRV-7136

...