1 Reply Latest reply on Dec 21, 2007 8:23 AM by Cass Bishop

    ajp threads hung in java.net.SocketInputStream.socketRead

    Cass Bishop Newbie

      I have a web application installed in jboss AS 4.2.2. It seems to work fine under a light load but when I begin to add users all of my ajp threads stop responding until the load lightens. I have taken multiple thread dumps and nearly all of my ajp threads have the following stack trace:


      java.net.SocketInputStream.socketRead0(Native Method)

      java.net.SocketInputStream.read(SocketInputStream.java:155)

      org.apache.coyote.ajp.AjpProcessor.read(AjpProcessor.java:1012)

      org.apache.coyote.ajp.AjpProcessor.readMessage(AjpProcessor.java:1094)

      org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:384)

      org.apache.coyote.ajp.AjpProtocol$AjpConnectionHandler.process(AjpProtocol.java:366)

      org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)

      java.lang.Thread.run(Thread.java:803)


      Does this mean that all of these threads are waiting on input from the client? I don't see any db methods in the trace so I'm not sure what else it could be. What would cause all of my ajp threads to end up in this state?

      I'm running apache in front of it with mod_jk configured like this:

      # Define a worker using ajp13
      worker.test1.port=8009
      worker.test1.host=app1
      worker.test1.type=ajp13
      worker.test1.lbfactor=1

      # Define another worker using ajp13
      worker.test2.port=8009
      worker.test2.host=app2
      worker.test2.type=ajp13
      worker.test2.lbfactor=1

      # Define the LB worker
      worker.test_lb.type=lb
      worker.test_lb.balance_workers=test1,test2
      worker.test_lb.sticky_session=1
      worker.test_lb.sticky_session_force=0
      worker.test_lb.method=R

      I can't figure out what would be causing this. Any help would really be appreciated.