Thank you very much, Rainer! Yes. My node accept the request first, then it will return 500 if the called web service is not available ...So mod_jk can not fail over the request in this situation. Do you have some suggestion for this situation? I really hope none of the calling to my web service in my cluster will be lost.
Thanks! Zeke 2008/12/9 Rainer Jung <[EMAIL PROTECTED]> > Zeke schrieb: > > Hi, all: > > I configure a Apache with mod_jk as HTTP load balancer for a JBoss > > cluster. My cluster provide some web services. Of course, the URL in the > web > > serice call by client is the URL of the load balancer's. If for some > reason, > > the web service on a node is unavailable, client call on it will get a > 500 > > error response which should be handled by mod_jk using fail_on_status > > directive. I tried it but found that the fail over seems not work. For > > example, I have two nodes in a cluster, web serivce on node 1 is > available > > but web service on node 2 is not available. I send 10 call through load > > balancer, but found that 9 calls succeeded, but one still get exception. > It > > seems that after the first call is dispatched to node 2, node 2 will > return > > 500 error and inform load balancer to mark it as in an error state. Then > the > > next calls will not be dispatched to node 2 again. It is good. But the > first > > call itself does not fail over to node 1. So only 9 call succeed. > > Do I forget some other configuration to make the first call fail over? > My > > workers.properties is like below. Any suggestion from you will be very > > appreciated! > > I guess the calls are POST requests with a not very small body. We can't > repost a big POST, because we don't buffer all the body. The whole thing > is a streaming architecture, so we can replay one body packet if we > detect a communication problem early, but if we sent a huge body and > only after processing we get a 500 from the backend, we don't have the > full body around to repost to another failover backend. > > If the backend doesn't accept the request, failover should work. > > Regards, > > Rainer > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > >