totvs / tds-vscode

Totvs Developer Studio for vscode
Apache License 2.0
171 stars 100 forks source link

Erro ao aplicar vários patchs de uma vez - Error: Language client is not ready yet #1128

Closed lucasoreia closed 1 year ago

lucasoreia commented 1 year ago

Bom dia,

Já faz alguns meses que venho enfrentando problemas na aplicação de patchs. O processo passou a ser extremamente demorado e em praticamente todas as vezes, durante a aplicação a operação é abortada, retornando o erro abaixo

[Info - 10:00:13] Starting get patch resource. [Info - 10:00:13] Patch file: d:/TOTVS/Producao/Protheus_data/data/Lucas/23-07-06_ATUALIZACAO_12.1.2210_PLS_EXPEDICAO_CONTINUA.ptm [Info - 10:00:13] Starting build for environment PRODUCAO_LUCAS. [Info - 10:00:16] Starting build using RPO token ... [Info - 10:00:18] Aborting end build (rollback changes). [Info - 10:00:18] Getting organizations (company/branch) [Info - 10:00:25] Starting reconnection to the server 'PRD_ERP_DEBUG_LUCAS_rpc' [Info - 10:00:25] Authenticating... [Info - 10:00:30] User authenticated successfully. [Info - 10:00:30] Reconnection to the server 'PRD_ERP_DEBUG_LUCAS_rpc' finished. [Info - 10:00:30] Validating a package in Protheus application [Info - 10:02:17] Connection to server got closed. Server will restart. [Error - 10:02:17] Error: Language client is not ready yet [Error - 10:02:17] Error: Language client is not ready yet [Error - 10:02:17] Error: Language client is not ready yet [Error - 10:02:17] Error: Language client is not ready yet [Error - 10:02:17] Error: Language client is not ready yet [Error - 10:02:17] Error: Language client is not ready yet [Error - 10:02:17] Error: Language client is not ready yet [Error - 10:02:17] Error: Language client is not ready yet [Error - 10:02:17] Error: Language client is not ready yet [Error - 10:02:17] Error: Language client is not ready yet [Error - 10:02:17] Error: Language client is not ready yet [Error - 10:02:17] Error: Language client is not ready yet [Error - 10:02:17] Error: Language client is not ready yet [Error - 10:02:17] Error: Language client is not ready yet [Error - 10:02:17] Error: Language client is not ready yet [Error - 10:02:17] Error: Language client is not ready yet [Info - 10:02:18] Initializing Language Server. [Info - 10:02:18] Language Server initialized.

Geralmente contorno o problema aplicando os patchs de 2 em 2. Apesar de não conseguir concluir o processo quando uso muitos patchs, o processo leva até meia hora.

Versão: 1.80.1 Confirmar: 74f6148eb9ea00507ec113ec51c489d6ffb4b771 Data: 2023-07-12T17:22:07.651Z Electron: 22.3.14 ElectronBuildId: 21893604 Chromium: 108.0.5359.215 Node.js: 16.17.1 V8: 10.8.168.25-electron.0 SO: Windows_NT x64 10.0.20348

Developer Studio for VSCode (AdvPL, TLPP e 4GL) v1.3.18

Dados do Server

Versão: TOTVS Manufatura Build AppServer: 7.00.210324P-20230531 - 64 bits Nome do servidor: SRVOCIPRTP01 Sistema operacional: Windows Server 2022 Appserver version: 20.3.1.9 Build DBAccess: 20220303-20230427 Release do RPO: 12.1.2210 Release do dicionário: 12.1.2210 Local files: CodeBase License server: 2014 - 3.5.1 DB DataBase: ORACLE DB API Build: 20220303-20230427

Versão da Lib:20230626 Data da Lib: 20230620_134141 Commit ID:5890dc1e51db83f73532005a29ba88c794726a8f Central de Atualizações: 4240844 (17/07/23)

Segue link com o log completo. https://we.tl/t-pmSRknbk68

Att. Lucas

brodao2 commented 1 year ago

@lucasoreia

Veja no log do appServer se há algo que possa ajudar, caso não ajude, favor complementar chamado informando os dados solicitados conforme Informações importantes ao abrir o chamado e anexe os logs conforme Gerando informações sobre o problema..

Se possível, disponibilize o pacote que esta sendo aplicado para que possamos efetuar algumas verificações.

Nota: O log disponibilizado não ajuda.

No aguardo.

brodao2 commented 1 year ago

Quanto a demora, experimente desfragmentar (comando totvs-developer-studio.defragRPO) o RPO.

Experimente fazer isso, antes de aplicar os pacotes. Como está demorando, pode estar dando queda de conexão e recomendo desfragmentar o RPO com regularidade.

A disposição.

lucasoreia commented 1 year ago

@brodao2

Obrigado por enviar o link com os passos para a geração dos logs. Eu já havia seguido eles antes da abertura, porém não consegui que os arquivos "totvsls.log", "totvsls_in.log" e "totvsls_out.log" fossem gerados.

O log do appserver eu já havia colocado nesse link abaixo. https://we.tl/t-pmSRknbk68

Sobre a desfragmentação, sempre foi um procedimento obrigatório na minha rotina. Sempre executo após a aplicação de qualquer patch o fonte, mesmo que não haja necessidade. Meu RPO atualmente tem o tamanho mínimo, que é por volta de 330Mb.

Att.

brodao2 commented 1 year ago

Desculpe, não vi o log do server.

Achei a ocorrência que pode ser a causa.

[INFO ][SERVER] [17/07/2023 21:39:07] Connection released from balance [10.60.1.106:].
2

Parece-me que você esta se conectando em um ambiente com balance e se for o caso, você deve obrigatoriamente se conectar direto a um slave. Confirme isso.

As conexões do TDS-VScode, sempre devem ser feitos em um slave e no master somente para o monitor.

lucasoreia commented 1 year ago

Meu ambiente até tem sim balanceamento, mas já sigo o processo como você descreveu. Esse serviço ele já é separado apenas para que possa fazer a aplicação de patch e debug.

DanielYampolschi commented 1 year ago

@lucasoreia vc pode nos enviar os patches que vc esta tentando aplicar para testarmos por aqui? Fizemos alguns testes locais com outros patches e nao reproduzimos..

lucasoreia commented 1 year ago

@DanielYampolschi

Acredito que os patch específicos vão ser irrelevantes. Pode baixar qualquer acumulado do portal da TOTVS. Geralmente esbarro no problema a cada 1 semana, que é quando acesso o portal e baixo os últimos liberados. Também já fiz testes com pacotes pontuais, imaginando que algo pudesse estar ligado ao tamanho dos patchs, mas o resultado é sempre o mesmo. Considerando meu cenário, eu poderia baixar um único patch, replicar ele umas 20 vezes com nomes diferentes e solicitar a aplicação que provavelmente teria o problema.

DanielYampolschi commented 1 year ago

@lucasoreia Ah sim, não tenho suspeita dos patches especificamente.. a ideia era apenas montar um ambiente mais próximo possível seu, onde acontece o problema, pois testei por aqui com outros e não reproduzi... mas sem problemas.. baixo alguns do portal e continuo tentando reproduzir por aqui.

brodao2 commented 1 year ago

@lucasoreia

A ultima ocorrência no log enviado (debug.log.00001.log) é do dia 17. Favor mandar um atual e da estação no qual se conectou para aplicar os pacotes.

No aguardo.

lucasoreia commented 1 year ago

@brodao2

Desculpa pelo meu erro. Acabei pegando o arquivo errado. Segue o log correto. Peguei novamente o console do VSCode para ver que o problema apareceu muito mais rápido que no outro teste.

https://we.tl/t-EQW3aiB8yt

lwtnb-wrk commented 1 year ago

@lucasoreia Notei que quando ocorre erro na aplicação de patch, ocorre no mesmo ponto durante uma validação de FW. Qual a versão/data exata da lib que você tem em seu ambiente? Se possivel nos mande um printscreen do SHIFT+F6 que já tem todas as informações consolidades.

lwtnb-wrk commented 1 year ago

@lucasoreia Desconsidere a pergunta anterior, vi agora essas informações no post original... Vou comparar com meu ambiente para ver se encontro alguma diferença.

brodao2 commented 1 year ago

@lucasoreia

Para mim entender melhor seu ambiente, pode mandar o ini desse server? Mande-o direto para acandido@totvs.com.br.

No aguardo.

brodao2 commented 1 year ago

Para confirmar, você está se conectando no broker ou direto neste server? Se for no broker, tenta fazer a conexão direto no server, por favor.

lucasoreia commented 1 year ago

Conecto sempre direito no server.

lwtnb-wrk commented 1 year ago

@lucasoreia Identificamos um ponto que poderia causar o "Error: Language client is not ready yet", mas como não conseguimos reproduzir localmente gostaríamos que, se possível, fizesse um teste no seu ambiente. Esta versão não deve solucionar completamente seu problema, mas pode ajudar a identificar o que está ocorrendo em seu ambiente. Baixe e instale a versão v1.3.19-RC4 manualmente e repita as aplicações dos patches. VSIX disponível em https://github.com/totvs/tds-vscode/releases/tag/v1.3.19-RC4 Caso não saiba como instalar um VSIX consulte https://github.com/totvs/tds-vscode/blob/master/docs/install.md#instalando-de-um-arquivo-vsix

lucasoreia commented 1 year ago

@lwtnb-wrk infelizmente ainda não resolveu. Segue o link para os logs. https://we.tl/t-WK6RcgHfvC

lwtnb-wrk commented 1 year ago

@lucasoreia Consegue nos enviar o appserver.ini do servidor que esta tentando aplicar os patches?

lucasoreia commented 1 year ago

@lwtnb-wrk segue o link do arquivo. https://we.tl/t-JOpYilAj59

lwtnb-wrk commented 1 year ago

Apenas para deixar registrado aqui, o ambiente do @lucasoreia estava configurado como workspace. Ao abrir apenas uma pasta de projeto no VS Code, ele conseguiu aplicar 21 patches de uma vez sem que o problema ocorresse. De qualquer forma continuamos investigando para ver se identificamos o problema de alguma forma.

lwtnb-wrk commented 1 year ago

@lucasoreia Além da correção do problema que estava tendo para aplicar múltiplos patches, fizemos uma alteração no processo geral que valida os patches na inserção e depois de validados, a ação de aplicar os patches e liberada. Depois que atualizar seu tds-vscode veja como ficou a aplicação e nos dê sua opnião sobre como ficou a usabilidade.

lucasoreia commented 1 year ago

Bom dia @lwtnb-wrk , desculpe a demora. Dependendo da forma como o usuário faz a adição dos pacotes, parece ser uma boa. Exemplo: Se ele extrai vários pacotes e seus respectivos diretórios, ele terá que entrar em cada um dos diretórios para adicioná-los. Nesse ponto, como a validação já está sendo feita, pode-se ter um ganho de performance, mas pelo que percebi, não chega a ser relevante. No meu caso, eu uso os arquivos compactados conforme baixados do portal, logo consigo adicioná-los todos de uma vez.

Como, aparentemente, o que foi feito foi mudar o momento em que a validação é realizada, o tempo final da aplicação dos patchs acaba sendo o mesmo. Apenas como caráter informativo, selecionei os 20 últimos acumulados. A validação levou 15 min e 7 min para a aplicação dos patchs. Em média, podemos considerar 1 minuto por patch.

Quando estamos falando de 2 ou 3 patchs, o tempo não parece alto, mas quando falamos de 20, ai o tempo já fica considerável.

Sobre o erro que acontecia, esse realmente foi solucionado. Muito obrigado!

lwtnb-wrk commented 1 year ago

@lucasoreia Sempre que possível tentaremos melhorar a usabilidade e nada mais importante que a percepção de nossos usuários. Realmente a validação do patch e também a aplicação de patch não são processos rápidos, mas o processo antigo realizava algumas ações de maneira ineficiente, e isso que tentamos sanar. Mas se o erro que te impedia de aplicar múltiplos patches foi resolvido estamos no caminho certo. Grato pelas considerações e informações.