01. DADOS GERAIS
| Produto: | |
|---|
| Linha de Produto: | |
|---|
| Segmento: | |
|---|
| Módulo: | |
|---|
| Função: | Smartlink e Datasync |
|---|
| País: | Brasil |
|---|
| Ticket: |
|
|---|
| Requisito/Story/Issue (informe o requisito relacionado) : | DFWKDATASUL-15104 |
|---|
02. SITUAÇÃO/REQUISITO
Identificado estouro de memória na execução da sincronização.
03. SOLUÇÃO
DATASYNC
- Alterada a lib de manipulação de jsons de Json Simple para Jackson;
- Alterado para receber pacotes em bytes;
- Alterado para receber um pacote já no tamanho permitido pelo Totvs Apps e Carol, removendo a necessidade de manipulação de json para divisão em pacotes menores;
- Ajuste para instanciação singleton de HttpClient que estava abrindo threads desnecessariamente e consumindo CPU;
- Ajuste para execução de threads em paralelo;
- Ao habilitar a propriedade logging.level.com.totvs.fwk.dss.datasync como DEBUG, será habilitado também o output de arquivos no diretório temporário do SO;
- Ajustada a atualização do status de envio.
SMARTLINK
- Alterado para utilizar a lib Jackson ao invés Json Simple para manipulação de jsons e assim, economizando utilização de recurso de RAM;
- Ajustado para que o Smartlink apenas receba os dados do Datasync e repasse via grpc para o Totvs Apps;
- Agora, quando a propriedade logging.level.com.totvs.fwk.dss.smartlink estiver como DEBUG, será habilitado o output do arquivo enviado ao Totvs Apps no temporário do SO;
- Criada a classe HttpClientConfig para instanciação singleton de HttpClient que estava abrindo threads desnecessariamente e consumindo muita CPU.
PROGRESS CONNECTOR
- Alterado para receber um arquivo de bytes ao invés de string;
- Remoção de abertura desnecessária de conexões quando não há agentes disponíveis ou todos os agentes pasoe estão ocupados com outras execuções.
FOUNDATION
- Os programas datasync* foram alterados para trafegar arquivos em bytes (MEMPTR) ao invés de string (LONGCHAR) para ganho de performance e diminuir o consumo de CPU;
- Simplificada a estrutura do json trafegado entre ERP e datasync, diminuindo a quantidade de nós e arrays para manipulação mais breve;
- Envio dos pacotes com quantidade de registros já prontos para que o datasync e o smartlink apenas repassem estes dados para o Totvs Apps já no tamanho exigido pela ferramenta.
04. DEMAIS INFORMAÇÕES
Não se aplica.
05. ASSUNTOS RELACIONADOS
