1
0
mirror of https://github.com/apache/httpd.git synced 2025-08-07 04:02:58 +03:00

103 Commits

Author SHA1 Message Date
Jim Jagielski
cb1a4192ee Make size of threadpool adjustable, even to the extent of
disabling it.

doccos to come.

PS: ProxyHCTPsize only available if APR has threads

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1726418 13f79535-47bb-0310-9956-ffa450edef68
2016-01-23 17:37:37 +00:00
Jim Jagielski
62a4f4cf48 better logging
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1726417 13f79535-47bb-0310-9956-ffa450edef68
2016-01-23 17:37:36 +00:00
Jim Jagielski
f2c75343da Use a shorter-lived pool to conserve mem.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1726351 13f79535-47bb-0310-9956-ffa450edef68
2016-01-23 03:53:45 +00:00
Jim Jagielski
2c8abebd62 Some renaming to make things more clear.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1726317 13f79535-47bb-0310-9956-ffa450edef68
2016-01-22 21:26:53 +00:00
Jim Jagielski
60bf32278e we actually talk 1.0
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1726315 13f79535-47bb-0310-9956-ffa450edef68
2016-01-22 21:26:47 +00:00
Jim Jagielski
5fe1530a78 Use threadpools and shove each hcheck to be done by a thread
in the threadpool. If we don't have threadpools (either
because APR lacks threads or we can'r create a threadpool)
simply hcheck sequetially in the watchdog process.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1726304 13f79535-47bb-0310-9956-ffa450edef68
2016-01-22 20:23:42 +00:00
Jim Jagielski
736508c43b adj pool lifetimes.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1726129 13f79535-47bb-0310-9956-ffa450edef68
2016-01-21 23:22:53 +00:00
Jim Jagielski
c5c5f07934 log when we are updating hc worker, which should be never at
present.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1726092 13f79535-47bb-0310-9956-ffa450edef68
2016-01-21 20:33:30 +00:00
Jim Jagielski
68105029a3 We don't allow for changes yet...
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1726090 13f79535-47bb-0310-9956-ffa450edef68
2016-01-21 20:20:45 +00:00
Jim Jagielski
43625fd0e9 Better description of trace
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1726062 13f79535-47bb-0310-9956-ffa450edef68
2016-01-21 18:47:04 +00:00
Jim Jagielski
5825354b83 clash :)
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1726055 13f79535-47bb-0310-9956-ffa450edef68
2016-01-21 18:38:01 +00:00
Jim Jagielski
163a04ce8b Adjust
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1726052 13f79535-47bb-0310-9956-ffa450edef68
2016-01-21 18:33:52 +00:00
Rainer Jung
f781921401 Try fixing new proxy_hcheck expr extension.
Interestingly mod_ssl using NULL as well,
but some other module I wrote uses parms->name.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1726051 13f79535-47bb-0310-9956-ffa450edef68
2016-01-21 18:30:26 +00:00
Rainer Jung
a02b777df3 Fix copy&paste error in new function.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1726049 13f79535-47bb-0310-9956-ffa450edef68
2016-01-21 18:22:38 +00:00
Rainer Jung
5740fad52a Implement expr lookup in mod_proxy_hcheck for
variables whose names start with "HC_" and for
the new function hc().

Currently only HC_BODY and hc(body) are supported.
Both return the saved body of the health check
response to be used in an expr that decides about
success of a check.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1726038 13f79535-47bb-0310-9956-ffa450edef68
2016-01-21 17:49:21 +00:00
Jim Jagielski
f6c1112424 Assign log message tags
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1725967 13f79535-47bb-0310-9956-ffa450edef68
2016-01-21 14:52:43 +00:00
Jim Jagielski
1a5e92f470 With the updated ap_expr, we can now check for the
returned response body, stored in kept_body

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1725822 13f79535-47bb-0310-9956-ffa450edef68
2016-01-20 22:13:02 +00:00
Jim Jagielski
a107563a23 And make the list of health check conditions viewable via
the balancer manager :)

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1725609 13f79535-47bb-0310-9956-ffa450edef68
2016-01-19 20:48:33 +00:00
Rainer Jung
7cc83fe9ab Use worker status character defines taken
from mod_proxy.h instead of explicit characters.

Noted by rpluem.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1725602 13f79535-47bb-0310-9956-ffa450edef68
2016-01-19 19:44:13 +00:00
Jim Jagielski
2623b6ef7d correct error string
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1725581 13f79535-47bb-0310-9956-ffa450edef68
2016-01-19 18:16:21 +00:00
Jim Jagielski
baf0a43f5e Latest fixes... move some to TRACE7
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1725572 13f79535-47bb-0310-9956-ffa450edef68
2016-01-19 17:40:37 +00:00
Jim Jagielski
d4b5420244 Adjust log levels
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1725567 13f79535-47bb-0310-9956-ffa450edef68
2016-01-19 16:59:50 +00:00
Jim Jagielski
44995789d5 Now, allow for checking of conditions, created and defined via
the ProxyHCExpr directive.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1725559 13f79535-47bb-0310-9956-ffa450edef68
2016-01-19 16:30:12 +00:00
Jim Jagielski
1049c6d727 Start impl of expr conditions for runtime checks
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1725545 13f79535-47bb-0310-9956-ffa450edef68
2016-01-19 15:29:25 +00:00
Jim Jagielski
89674b5612 For OPTIONS and HEAD, only 2xx and 3xx are considered "passing"
(until I implement the conditions expr testing)... honor
the pass/fail count and LOG_INFO when the health check enables
or disables a backend worker.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1725523 13f79535-47bb-0310-9956-ffa450edef68
2016-01-19 14:14:27 +00:00
Jim Jagielski
398c5ec656 OPTIONS/HEAD proxy function should be diff from simple TCP check
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1725499 13f79535-47bb-0310-9956-ffa450edef68
2016-01-19 12:50:03 +00:00
Jim Jagielski
52916ae253 Open up hook/scar to allow for passes/fails and
method to be changed via bal-man...

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1725498 13f79535-47bb-0310-9956-ffa450edef68
2016-01-19 12:49:56 +00:00
Rainer Jung
d20924932b Fill in APLOGNO.
I hope that doesn't result in merge trouble
for Jim.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1725489 13f79535-47bb-0310-9956-ffa450edef68
2016-01-19 12:05:53 +00:00
Rainer Jung
27a0d08235 Silence compiler warning (twice):
variable 'v' set but not used


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1725482 13f79535-47bb-0310-9956-ffa450edef68
2016-01-19 11:51:31 +00:00
Jim Jagielski
99f84abbd9 Leverage the OPTIONS code for HEAD as well...
So we now support: TCP, OPTIONS and HEAD.

Right now, anything other than an error (even a 404)
is consider a PASS.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1725387 13f79535-47bb-0310-9956-ffa450edef68
2016-01-18 23:23:43 +00:00
Jim Jagielski
43343111ed honor worker settings
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1725331 13f79535-47bb-0310-9956-ffa450edef68
2016-01-18 19:54:52 +00:00
Jim Jagielski
dbc98e6175 And we now allow for health checks via OPTIONS *
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1725328 13f79535-47bb-0310-9956-ffa450edef68
2016-01-18 19:44:20 +00:00
Jim Jagielski
b144cac200 simplify and start on concept framework of OPTIONS
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1725307 13f79535-47bb-0310-9956-ffa450edef68
2016-01-18 16:54:12 +00:00
Jim Jagielski
2fda66ec46 Make balancer manager health-check aware
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1725120 13f79535-47bb-0310-9956-ffa450edef68
2016-01-17 20:12:09 +00:00
Jim Jagielski
a977676cd3 some ordering optimization
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1725031 13f79535-47bb-0310-9956-ffa450edef68
2016-01-16 20:52:58 +00:00
Jim Jagielski
bdf5ddbb4b Move to a set of health check workers, mapping to
each worker itself, instead of a single reused generic
worker.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1725018 13f79535-47bb-0310-9956-ffa450edef68
2016-01-16 19:07:54 +00:00
Jim Jagielski
4322b73e25 pull this out... large enough for a func
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1724995 13f79535-47bb-0310-9956-ffa450edef68
2016-01-16 15:18:25 +00:00
Jim Jagielski
43de67d07d Don't restore.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1724994 13f79535-47bb-0310-9956-ffa450edef68
2016-01-16 15:18:24 +00:00
Jim Jagielski
d148a088a1 move scope
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1724993 13f79535-47bb-0310-9956-ffa450edef68
2016-01-16 15:18:22 +00:00
Jim Jagielski
d168c994c1 Since every check needs this, do this in the main
check loop. Allows some optimizations.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1724992 13f79535-47bb-0310-9956-ffa450edef68
2016-01-16 15:18:05 +00:00
Jim Jagielski
10ab1bc9b1 Avoid having to recheck DNS
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1724886 13f79535-47bb-0310-9956-ffa450edef68
2016-01-15 22:11:02 +00:00
Jim Jagielski
9f2dd3550e 1st cut of 'simple' tcp check... We reuse various proxy
function and so this *could* be more streamlined, but
use this to show how the other would work, since we need
brigades, SSL/TLS support, etc.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1724879 13f79535-47bb-0310-9956-ffa450edef68
2016-01-15 21:37:23 +00:00
Jim Jagielski
b66e366bdc Use enums and structs to keep things better organized
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1723953 13f79535-47bb-0310-9956-ffa450edef68
2016-01-10 19:20:31 +00:00
Jim Jagielski
67ee6d206d Don't bother w/ methods that return bodies. We don't
handle them now anyway.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1722377 13f79535-47bb-0310-9956-ffa450edef68
2015-12-30 16:44:46 +00:00
Jim Jagielski
407b9ab38d command changes
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1722358 13f79535-47bb-0310-9956-ffa450edef68
2015-12-30 15:34:08 +00:00
Jim Jagielski
a44008b25a Check that we have names for both templates and
conditions

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1722351 13f79535-47bb-0310-9956-ffa450edef68
2015-12-30 15:25:52 +00:00
Jim Jagielski
9057223c47 just check watched servers... use 'hc' prefix for sub directives
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1722350 13f79535-47bb-0310-9956-ffa450edef68
2015-12-30 15:22:15 +00:00
Jim Jagielski
ac16139676 Now implement the condition ruleset definition. The
actual checking will be done in the actual health check
routine.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1722334 13f79535-47bb-0310-9956-ffa450edef68
2015-12-30 14:32:24 +00:00
Jim Jagielski
0bfe3c0cd8 move to per server conf, useful for adding HealthCheckCondition
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1722328 13f79535-47bb-0310-9956-ffa450edef68
2015-12-30 13:28:12 +00:00
Jim Jagielski
1d935a7a7b Better check
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1722320 13f79535-47bb-0310-9956-ffa450edef68
2015-12-30 12:02:49 +00:00