Still continuing to guess.. > > This is about efficiency. > If mod_jk had to do a DNS lookup each time it wants to send a packet to a > backend Tomcat (or at least each time it wants to create a new connection to > a backend Tomcat), that would be very inefficient. > > So, instead, mod_jk stores the IP address of each backend Tomcat, and > during normal operation uses only that stored IP. > > But, as a convenience, in the configuration file, it allows you to specify > the worker's host as a name if you wish; and if you do that, it does the > lookup once at startup, to resolve that to an IP which it stores. > > But if it cannot at startup do this lookup and resolve the name to an IP, > then it is stuck and cannot go further.
Agreed - it cannot go further for this worker. I would expect an error to get logged and the load balanced worker to continue on to the next worker configured. > Because if it did go further, then it would have to store this workers'host > as an unresolved name, and then it would have to do a lookup during normal > operation. > CQFD. > > Now, I have really no idea if the code is really like that, but if not at > least it seems logical, doesn't it ? > ;-) > > Yes, it does seem logical, but flawed for a load balancer. If it was a normal worker, I would 100% agree it should quit. I will go ahead and configure all the Tomcat nodes by IP address in the mod_jk config file instead of the host name. The risk of having our whole production web application go down if one host is not available is not worth this convenient "feature" of mod_jk. :-)