Uploaded image for project: 'mod_cluster'
  1. mod_cluster
  2. MODCLUSTER-639

proxy reset requests can allow for other MCMPs to bad proxy

    XMLWordPrintable

Details

    Description

      There's a timing issue between proxy reset requests and other MCMPs. This can allow for some severe start up delays if there is a configured proxy that is down or unresponsive. Start up is seen to be stalled as it tries to send enable-apps to the bad proxy:

      "ServerService Thread Pool -- 72" #134 prio=5 os_prio=0 tid=0x00007f84581fa9f0 nid=0x6718 runnable [0x00007f83c1561000]
         java.lang.Thread.State: RUNNABLE
              at java.net.SocketInputStream.socketRead0(Native Method)
              at java.net.SocketInputStream.socketRead(SocketInputStream.java:116)
              at java.net.SocketInputStream.read(SocketInputStream.java:171)
              at java.net.SocketInputStream.read(SocketInputStream.java:141)
              at sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:284)
              at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:326)
              at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:178)
              - locked <0x00000000eb0a4700> (a java.io.InputStreamReader)
              at java.io.InputStreamReader.read(InputStreamReader.java:184)
              at java.io.BufferedReader.fill(BufferedReader.java:161)
              at java.io.BufferedReader.readLine(BufferedReader.java:324)
              - locked <0x00000000eb0a4700> (a java.io.InputStreamReader)
              at java.io.BufferedReader.readLine(BufferedReader.java:389)
              at org.jboss.modcluster.mcmp.impl.DefaultMCMPHandler.sendRequest(DefaultMCMPHandler.java:529)
              at org.jboss.modcluster.mcmp.impl.DefaultMCMPHandler.sendRequest(DefaultMCMPHandler.java:605)
              - locked <0x00000000fcaac598> (a org.jboss.modcluster.mcmp.impl.DefaultMCMPHandler$Proxy)
              at org.jboss.modcluster.mcmp.impl.DefaultMCMPHandler.sendRequest(DefaultMCMPHandler.java:429)
              at org.jboss.modcluster.ModClusterService.enable(ModClusterService.java:375)
              at org.jboss.modcluster.ModClusterService.start(ModClusterService.java:361)
              at org.wildfly.mod_cluster.undertow.UndertowEventHandlerAdapter.onDeploymentStart(UndertowEventHandlerAdapter.java:136)
              - locked <0x00000000fcaac7a8> (a org.wildfly.mod_cluster.undertow.UndertowEventHandlerAdapter)
              at org.wildfly.extension.undertow.Host$1.invoke(Host.java:192)
              at org.wildfly.extension.undertow.UndertowService.fireEvent(UndertowService.java:249)
              - locked <0x00000000fcaa4598> (a java.util.Collections$SynchronizedList)
              at org.wildfly.extension.undertow.Host.registerDeployment(Host.java:189)
              at org.wildfly.extension.undertow.deployment.UndertowDeploymentService.startContext(UndertowDeploymentService.java:103)
              at org.wildfly.extension.undertow.deployment.UndertowDeploymentService$1.run(UndertowDeploymentService.java:82)
      

      This can occur because a reset request places the proxy back in an OK state, which then allows the ENABLEs or any MCMP through.

      Attachments

        Issue Links

          Activity

            People

              rhn-engineering-rhusar Radoslav Husar
              rhn-support-aogburn Aaron Ogburn
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: