3 Replies Latest reply on Mar 14, 2017 12:14 PM by tjvargas

    Modo Domain caindo e dando Request Timeout

    tjvargas

      Primeiro, ao subir 2 slaves e um Wildfly 10 master, eles operam OK. Porém vendo eles pelo console (9990) e ao tentar dar comandos de stop, start, reload, ele não parece consistente, as vezes aparece mensagem verde(OK), vermelha (500), e amarela (Request timeout), esta última a mais frequente, e quando ela ocorre, observo esta seguinte mensagem no log, porém o slave completa a ação mesmo com a mensagem amarela.

      WFLYPC0011: Process 'Server:slave-1' finished with an exit status of 137
      

       

      E com todos operando normalmente, se eu deixar algum tempo sem observar, os sistemas caem, porém os servidores continuam rodando.

      Ao observar o log:

      [Host Controller]  [0m [0m03:21:11,027 INFO  [org.jboss.as.host.controller] (Host Controller Service Threads - 15) WFLYHC0150: Trying to reconnect to master host controller. [0m
      [Host Controller]  [0m [0m03:21:26,028 INFO  [org.jboss.as.host.controller] (Host Controller Service Threads - 15) WFLYHC0150: Trying to reconnect to master host controller. [0m
      [Host Controller]  [0m [0m03:21:26,248 INFO  [org.jboss.as.host.controller] (Host Controller Service Threads - 15) WFLYHC0148: Connected to master host controller at remote://172.31.9.65:9999 
      

       

      Porém ao acessar o master ele sempre está rodando, e se eu acessar o console, os servers aparecem como "server is stopped". E se eu startar após isso, ele dá as mensagens vermelhas e amarelas.

      Tenho um WAR igual rodando standalone também na Amazon EC2 já fazem meses e nunca fica indisponível.

      Então eu não sei se o modo domain possui algumas configurações de timeout para conexões ou para os comandos que se dão aos servers (restart, reload, stop), se configurei algo errado, ou se é problema de conexão entre master e slave.

       

      Outro erro que demonstra no log:

       [0m [31m10:53:09,343 ERROR [org.jboss.as.process.Server:arquitetura-1.status] (ProcessController-threads - 7) WFLYPC0008: Failed to send reconnect message to process 'Server:arquitetura-1' input stream: java.io.IOException: Broken pipe
        at java.io.FileOutputStream.writeBytes(Native Method)
        at java.io.FileOutputStream.write(FileOutputStream.java:326)
        at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:82)
        at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:140)
        at java.io.FilterOutputStream.flush(FilterOutputStream.java:140)
        at org.jboss.as.process.stdin.BaseNCodecOutputStream.flush(BaseNCodecOutputStream.java:125)
        at org.jboss.as.process.stdin.BaseNCodecOutputStream.flush(BaseNCodecOutputStream.java:137)
        at org.jboss.as.process.stdin.Base64OutputStream.flush(Base64OutputStream.java:44)
        at org.jboss.as.process.stdin.BaseNCodecOutputStream.close(BaseNCodecOutputStream.java:154)
        at org.jboss.as.process.stdin.Base64OutputStream.close(Base64OutputStream.java:44)
        at org.jboss.as.process.ManagedProcess.reconnect(ManagedProcess.java:184)
        at org.jboss.as.process.ProcessController.sendReconnectProcess(ProcessController.java:369)
        at org.jboss.as.process.ProcessControllerServerHandler$InitMessageHandler$ConnectedMessageHandler.handleMessage(ProcessControllerServerHandler.java:229)
        at org.jboss.as.process.protocol.ConnectionImpl.safeHandleMessage(ConnectionImpl.java:268)
        at org.jboss.as.process.protocol.ConnectionImpl$1$1.run(ConnectionImpl.java:222)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:745)
        at org.jboss.threads.JBossThread.run(JBossThread.java:320)
      
      
       [0m[Host Controller]  [0m [0m10:53:09,384 INFO  [org.jboss.as.host.controller] (ProcessControllerConnection-thread - 2) WFLYHC0027: Unregistering server arquitetura-1 [0m
      

       

       

       

       

       

       

      [0m [31

      m10:53:09,343 ERROR [org.jboss.as.process.Server:arquitetura-1.status] (ProcessController-threads - 7) WFLYPC0008: Failed to send reconnect message to process 'Server:arquitetura-1' input stream: java.io.IOException: Broken pipe

      at java.io.FileOutputStream.writeBytes(Native Method) at java.io.FileOutputStream.write(FileOutputStream.java:326) at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:82) at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:140) at java.io.FilterOutputStream.flush(FilterOutputStream.java:140) at org.jboss.as.process.stdin.BaseNCodecOutputStream.flush(BaseNCodecOutputStream.java:125) at org.jboss.as.process.stdin.BaseNCodecOutputStream.flush(BaseNCodecOutputStream.java:137) at org.jboss.as.process.stdin.Base64OutputStream.flush(Base64OutputStream.java:44) at org.jboss.as.process.stdin.BaseNCodecOutputStream.close(BaseNCodecOutputStream.java:154) at org.jboss.as.process.stdin.Base64OutputStream.close(Base64OutputStream.java:44) at org.jboss.as.process.ManagedProcess.reconnect(ManagedProcess.java:184) at org.jboss.as.process.ProcessController.sendReconnectProcess(ProcessController.java:369) at org.jboss.as.process.ProcessControllerServerHandler$InitMessageHandler$ConnectedMessageHandler.handleMessage(ProcessControllerServerHandler.java:229) at org.jboss.as.process.protocol.ConnectionImpl.safeHandleMessage(ConnectionImpl.java:268) at org.jboss.as.process.protocol.ConnectionImpl$1$1.run(ConnectionImpl.java:222) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) at org.jboss.threads.JBossThread.run(JBossThread.java:320)
      [0m[Host Controller]  [0m [0m10:53:09,384 INFO  [org.jboss.as.host.controller] (ProcessControllerConnection-thread - 2) WFLYHC0027: Unregistering server arquitetura-1 [0m

        • 1. Re: Modo Domain caindo e dando Request Timeout
          rimolive

          Thiago,

           

          Posso estar enganado, mas isso parece ser um problema de rede. Geralmente java.io.IOException: Broken pipe significa que um socket enviou uma mensagem para outro socket e esse já encerrou a conexão.

           

          Porém só dá pra ter uma idéia melhor se conhecer mais a topologia do seu ambiente, então se puder dar mais detalhes sobre onde ele está rodando, quantos host controllers/slaves são já é uma boa ajuda.

          • 2. Re: Modo Domain caindo e dando Request Timeout
            tjvargas

            Ricardo,

             

            São 4 máquinas envolvidas, uma com apache e mod_cluster, uma com wildfly master, e 2 slaves. Todas em uma mesma zona da AWS São Paulo. Ambas em modo full-ha.

            • 3. Re: Modo Domain caindo e dando Request Timeout
              tjvargas

              Era problema de rede mesmo, mudei a instância e a zona, e já está há 2 dias rodando normalmente.

              Esses dias houve uma queda generalizada dos serviços Amazon em São Paulo, então creio que ainda estava ocorrendo alguns casos isolados.

              Obrigado.