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

String index out of range: -1 with a lot of nodes/deployments

    Details

    • Type: Bug
    • Status: Closed (View Workflow)
    • Priority: Major
    • Resolution: Done
    • Affects Version/s: 1.1.1.Final, 1.1.2.Final , 1.1.3.Final
    • Fix Version/s: 1.2.0.Beta4
    • Component/s: None
    • Labels:
      None
    • Steps to Reproduce:
      Hide

      I was able to reproduce the exception reliably. I used up 18 JBoss 7.0.1 standalone server with a variable amount of deployments per server. All JBoss servers and httpd are on the same host. After adding a war to a all servers I restart httpd so the server need to reregister:
      18 servers no deplyoments: works
      18 servers 2 wars: one server can't register an throws the "String index out of range: -1" exception
      18 server 9 wars: only 10 servers can connect.

      Show
      I was able to reproduce the exception reliably. I used up 18 JBoss 7.0.1 standalone server with a variable amount of deployments per server. All JBoss servers and httpd are on the same host. After adding a war to a all servers I restart httpd so the server need to reregister: 18 servers no deplyoments: works 18 servers 2 wars: one server can't register an throws the "String index out of range: -1" exception 18 server 9 wars: only 10 servers can connect.
    • Workaround Description:
      Hide

      In httpd.conf for the VirtualHosy use:
      SetEnv downgrade-1.0

      Show
      In httpd.conf for the VirtualHosy use: SetEnv downgrade-1.0
    • Estimated Difficulty:
      Medium

      Description

      With mod_cluster Version 1.1.1 an up when there are already lot of application servers registered and a new server trys to register on mod_cluster the following error gets thrown on the server:

      2011-09-20 09:10:34,759 INFO [org.jboss.modcluster.ModClusterService] (main) Initializing mod_cluster 1.1.3.Final
      2011-09-20 09:10:34,855 DEBUG [org.jboss.modcluster.ModClusterService] (main) Received server start event
      2011-09-20 09:10:45,107 DEBUG [org.jboss.modcluster.ModClusterService] (ContainerBackgroundProcessor[StandardEngine[jboss.web]]) Check status for engine [jboss.web]
      2011-09-20 09:10:45,108 TRACE [org.jboss.modcluster.mcmp.impl.DefaultMCMPHandler] (ContainerBackgroundProcessor[StandardEngine[jboss.web]]) Sending command [org.jboss.modcluster.mcmp.impl.DefaultMCMPRequest{requestType=INFO,wildcard=false,jvmRoute=null,parameters={}}] to proxy [jsplb01x.umobi.mobicorp.test/10.32.34.139:80]
      2011-09-20 09:10:45,111 TRACE [org.jboss.modcluster.mcmp.impl.DefaultMCMPHandler] (ContainerBackgroundProcessor[StandardEngine[jboss.web]]) Parsing responseStatus:HTTP/1.1 200 OK
      2011-09-20 09:10:45,133 TRACE [org.jboss.modcluster.mcmp.impl.DefaultMCMPHandler] (ContainerBackgroundProcessor[StandardEngine[jboss.web]]) [org.jboss.modcluster.mcmp.impl.DefaultMCMPRequest{requestType=CONFIG,wildcard=false,jvmRoute=defaultmetro_u_01,parameters={Balancer=defaultmetro, Host=10.32.34.70, Maxattempts=1, Port=8009, Type=ajp}}, org.jboss.modcluster.mcmp.impl.DefaultMCMPRequest{requestType=ENABLE-APP,wildcard=false,jvmRoute=defaultmetro_u_01,parameters={Alias=localhost, Context=/blublu/sampleApp}}]
      2011-09-20 09:10:45,134 TRACE [org.jboss.modcluster.mcmp.impl.DefaultMCMPHandler] (ContainerBackgroundProcessor[StandardEngine[jboss.web]]) Sending command [org.jboss.modcluster.mcmp.impl.DefaultMCMPRequest{requestType=CONFIG,wildcard=false,jvmRoute=defaultmetro_u_01,parameters={Balancer=defaultmetro, Host=10.32.34.70, Maxattempts=1, Port=8009, Type=ajp}}] to proxy [jsplb01x.umobi.mobicorp.test/10.32.34.139:80]
      2011-09-20 09:10:45,134 TRACE [org.jboss.modcluster.mcmp.impl.DefaultMCMPHandler] (ContainerBackgroundProcessor[StandardEngine[jboss.web]]) Parsing responseStatus:1f53
      2011-09-20 09:10:45,134 INFO [org.jboss.modcluster.mcmp.impl.DefaultMCMPHandler] (ContainerBackgroundProcessor[StandardEngine[jboss.web]]) Error parsing response header for command CONFIG
      java.lang.StringIndexOutOfBoundsException: String index out of range: -1
      at java.lang.String.substring(String.java:1937)
      at org.jboss.modcluster.mcmp.impl.DefaultMCMPHandler.sendRequest(DefaultMCMPHandler.java:667)
      at org.jboss.modcluster.mcmp.impl.DefaultMCMPHandler.sendRequests(DefaultMCMPHandler.java:476)
      at org.jboss.modcluster.mcmp.impl.DefaultMCMPHandler.status(DefaultMCMPHandler.java:417)
      at org.jboss.modcluster.mcmp.impl.DefaultMCMPHandler.status(DefaultMCMPHandler.java:377)
      at org.jboss.modcluster.ModClusterService.status(ModClusterService.java:480)
      at org.jboss.modcluster.catalina.CatalinaEventHandlerAdapter.lifecycleEvent(CatalinaEventHandlerAdapter.java:323)
      at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
      at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1348)
      at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1612)
      at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1601)
      at java.lang.Thread.run(Thread.java:619)
      2011-09-20 09:10:45,135 ERROR [org.jboss.modcluster.mcmp.impl.DefaultMCMPHandler] (ContainerBackgroundProcessor[StandardEngine[jboss.web]]) Error [null: null:

      {4}

      ] sending command CONFIG to proxy jsplb01x.umobi.mobicorp.test/10.32.34.139:80, configuration will be reset
      2011-09-20 09:10:55,523 DEBUG [org.jboss.modcluster.ModClusterService] (ContainerBackgroundProcessor[StandardEngine[jboss.web]]) Check status for engine [jboss.web]

        Gliffy Diagrams

          Attachments

            Activity

              People

              • Assignee:
                jfclere Jean-Frederic Clere
                Reporter:
                yves.p Yves Peter
              • Votes:
                1 Vote for this issue
                Watchers:
                4 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: