I need to add background pinging of proxy backends to Apache 2.2. [I'll contribute code back, but may or may not be able to get it into a form that is acceptable for inclusion in Apache.]

Unfortunately, it is clear to me I do not have nearly the familiarity with the Apache APIs to make this possible in a reasonable time period. My C skills are a bit rusty as well, but I mainly have an API knowledge/comprehension issue at this point.

I can create a background thread for this easily enough (thanks to reading through code by Mladen Turk), but otherwise I'm struggling.

Can anyone give me some pointers on / code snippets for some basic pieces? For instance, how might I initiate a backend request on my own (rather than as part of normal request forwarding in mod_proxy)? What I'm really targeting is mod_proxy_ajp, so I'd really actually like to figure out is how to do a cping in this case rather than any sort of URL request (or should we just have a cping be a special ajp:// URL somehow?).

I also need to figure out the same thing for the mod_jk IIS/Tomcat connector, unfortunately...

As to why all this bother, as per an e-mail to this group some time back, I need to load balance over a sparsely populated range of ports. In other words, I'll only have a Tomcat actually running on a few of these ports at any given time. This actually works nicely on Linux, for instance, as things stand. Each dead port rejects requests almost instantaneously. On Windows, however, this can take over a second -- so whenever the worker retry interval expires a foreground request can end up trying all the dead ports and being delayed by <# of dead ports> seconds! If anyone has any ideas as to how to fix this issue with Windows instead, I am /all/ ears. I'd rather just keep the code simple and have reasonable TCP/IP stack behavior -- but I may just be dreaming in this regard.

--
Jess Holle

Reply via email to