Commit Graph

179 Commits

Author SHA1 Message Date
6017c4a100 Better knowledge of when to adjust.
More info from b-m

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1087413 13f79535-47bb-0310-9956-ffa450edef68
2011-03-31 19:20:06 +00:00
5c1603996e If we change the LB method, or we take add in a new
balancermember ("enable" her), then we need to have the
LBmethod reset its params as required...

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1087371 13f79535-47bb-0310-9956-ffa450edef68
2011-03-31 17:00:36 +00:00
4598f1a7d4 fix some grammar mistakes, mostly in comments
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1080821 13f79535-47bb-0310-9956-ffa450edef68
2011-03-12 00:35:39 +00:00
f0da266ae4 protect one-off boundary
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1073728 13f79535-47bb-0310-9956-ffa450edef68
2011-02-23 13:03:58 +00:00
63c7cfdf0d Be at least somewhat more RESTful... Use POST for changing stuff.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1073520 13f79535-47bb-0310-9956-ffa450edef68
2011-02-22 21:43:44 +00:00
aac783bdf5 No longer depend on how fork() works when laying out segments...
function pointers in shm are... nasty ;)

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1072098 13f79535-47bb-0310-9956-ffa450edef68
2011-02-18 18:40:25 +00:00
385da96d50 Use ap_state_query() to fix many modules that were not correctly initializing
if they were not active during server startup but got enabled later during a
graceful restart (in which case they need to do all work during a single
config run).


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1070153 13f79535-47bb-0310-9956-ffa450edef68
2011-02-12 21:23:56 +00:00
1d0800cd28 move function...
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1069381 13f79535-47bb-0310-9956-ffa450edef68
2011-02-10 13:29:53 +00:00
f67eea94fb Ugg... unbalanced workers *do* need a mutex as well (good catch Rüdiger!)
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1068879 13f79535-47bb-0310-9956-ffa450edef68
2011-02-09 13:20:09 +00:00
efc583f6e7 typo
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1068873 13f79535-47bb-0310-9956-ffa450edef68
2011-02-09 13:00:00 +00:00
03ab1d60ca Squash error/warning about signed/unsigned comparison
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1068871 13f79535-47bb-0310-9956-ffa450edef68
2011-02-09 12:56:01 +00:00
84a5c9cd6f Remove the thread mutex from the worker... it really should be
in the balancer. Thus we have global and thread for the balancer.
Use global when updating the full, shm list of workers; use
thread when being local.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1068581 13f79535-47bb-0310-9956-ffa450edef68
2011-02-08 21:08:10 +00:00
68dcb0f789 Keep track of how many workers we've used so far... no need
to provide field to add another if no slots exist.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1068020 13f79535-47bb-0310-9956-ffa450edef68
2011-02-07 17:15:04 +00:00
96af650c42 Mutex around adding a new worker...
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1067965 13f79535-47bb-0310-9956-ffa450edef68
2011-02-07 15:25:09 +00:00
2752756dd8 Lock around the time when we're mucking w/ balancers...
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1067276 13f79535-47bb-0310-9956-ffa450edef68
2011-02-04 20:34:47 +00:00
55b9f8fba8 Here we go... we can now, via balancer-manager, add new
workers to existing balancers. Still work to be done,
like error checking that we aren't trying to add more
than we can (right now, it fails, but it would be nice
to handle it nicer), disabling and *deleting* workers
we don't want anymore, the actual drain method, etc...
but this is some major goodness.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1067269 13f79535-47bb-0310-9956-ffa450edef68
2011-02-04 20:01:04 +00:00
85ac025790 might as well allow for the sticky session to be adjusted as well...
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1067206 13f79535-47bb-0310-9956-ffa450edef68
2011-02-04 16:11:15 +00:00
b32eb3a6af And yet more balancer params that can be changed at runtime via
the b-m application...

next up, of course, is adding new workers ;)

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1067178 13f79535-47bb-0310-9956-ffa450edef68
2011-02-04 13:50:39 +00:00
ee5eda1b71 Optimize... create a struct to hold the worker status info
(need to align w/ set_params later on) and note when we
update timestamps

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1066607 13f79535-47bb-0310-9956-ffa450edef68
2011-02-02 20:17:22 +00:00
57a654ffe7 Instead of just enabling/disabling, we can now adjust
more useful worker status bits, such as whether hot stby, etc...

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1066482 13f79535-47bb-0310-9956-ffa450edef68
2011-02-02 14:39:48 +00:00
f2c6805bc9 Again, abstract out the worker status magic to it's handled
by funcs...

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1066138 13f79535-47bb-0310-9956-ffa450edef68
2011-02-01 19:07:02 +00:00
3866ae89a4 We can now change lbmethod at runtime.
Provide a stub for other balancer-related params to
be adjusted as well, like timeout, sticky, etc...

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1066076 13f79535-47bb-0310-9956-ffa450edef68
2011-02-01 16:00:01 +00:00
177e4e5f86 Move the lbmethod to also allow it to be adjusted runtime
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1065750 13f79535-47bb-0310-9956-ffa450edef68
2011-01-31 20:29:01 +00:00
12ae415dbe Move some "nice to be able to change" balancer stuff to shm
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1065748 13f79535-47bb-0310-9956-ffa450edef68
2011-01-31 20:28:52 +00:00
334ae2f5a2 Make it clear that '_' is a possible char and accepted
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1060802 13f79535-47bb-0310-9956-ffa450edef68
2011-01-19 13:08:08 +00:00
a713db09d4 Make the balancer shared memory slot more human readable. But we need
to make it a "safe" filename, so create 2 funcs which do that.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1060657 13f79535-47bb-0310-9956-ffa450edef68
2011-01-19 02:41:49 +00:00
1a1c15a417 Align proxy_worker_shared in slotmem shm
using default APR alignment.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1060112 13f79535-47bb-0310-9956-ffa450edef68
2011-01-17 22:16:51 +00:00
5e981d902a mod_slotmem_shm is a predecessor of
mod_proxy_balancer, not mod_proxy.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1060109 13f79535-47bb-0310-9956-ffa450edef68
2011-01-17 22:09:18 +00:00
283b511ebd Display number of members possible per balancer
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1058795 13f79535-47bb-0310-9956-ffa450edef68
2011-01-13 23:25:48 +00:00
a541e41dab And check the nonce, taking care to ensure that the
form actually specified a balancer.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1058630 13f79535-47bb-0310-9956-ffa450edef68
2011-01-13 15:59:25 +00:00
31c4a9e21e Move nonce to balancer struct and add logic for nonce and growth.
Adjust mmn and update doccos

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1058629 13f79535-47bb-0310-9956-ffa450edef68
2011-01-13 15:59:22 +00:00
ddebc67a4e whitespace
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1058626 13f79535-47bb-0310-9956-ffa450edef68
2011-01-13 15:59:10 +00:00
fab3678ad3 Builds and passes tests as prefork... good save state
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1058625 13f79535-47bb-0310-9956-ffa450edef68
2011-01-13 15:59:05 +00:00
9096c04779 Adjust for conf->workers being *proxy_worker and balancer->workers being **proxy_worker
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1058624 13f79535-47bb-0310-9956-ffa450edef68
2011-01-13 15:59:02 +00:00
201bbd1ba9 More movement to shared stuff...
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1058623 13f79535-47bb-0310-9956-ffa450edef68
2011-01-13 15:58:57 +00:00
daa5a5c57c OK... a good commit point (we don't quite compile yet though...)
Pull out the worker scoreboard cruft and start moving most
worker stuff to shm. Use slotmem for workers and provide
space for growth.

Redo logic:

  ap_proxy_define_*
  ap_proxy_create_*
  ap_proxy_initialize_*

Right now just for workers, but lay framework for balancers
as well. The idea is to break out the functional parts
to make it easy for dynamics. Defining is simply describing
the worker, and tucking that info away. When we create, we
go ahead and create the shared memory, etc... Initialize
is simply to allow child process to access the shm...

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1058622 13f79535-47bb-0310-9956-ffa450edef68
2011-01-13 15:58:50 +00:00
5febbb22aa Use branch now
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1058621 13f79535-47bb-0310-9956-ffa450edef68
2011-01-13 15:58:45 +00:00
a280069b3c a pointer optim.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1031798 13f79535-47bb-0310-9956-ffa450edef68
2010-11-05 21:17:05 +00:00
1ba4520701 Avoid unnecessariy initialisation before we test handler name.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1024449 13f79535-47bb-0310-9956-ffa450edef68
2010-10-19 22:48:38 +00:00
5a222cf2cf mod_proxy: Rename erroronstatus to failonstatus...
... by popular demand, and add documentation.

Submitted by: Daniel Ruggeri <DRuggeri primary.net>



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@987359 13f79535-47bb-0310-9956-ffa450edef68
2010-08-20 00:54:34 +00:00
c55a15fc2f Fold in some stuff to allow for matching of workers
to their actual scoreboard slots, independent of slot
ID.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@984188 13f79535-47bb-0310-9956-ffa450edef68
2010-08-10 19:46:58 +00:00
7b3189cb8d remove more useless use of strlen
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@982046 13f79535-47bb-0310-9956-ffa450edef68
2010-08-03 22:06:24 +00:00
e6fcd04001 follow up to r930125
change log message when forcing worker into error state:
* APLOG_ERR instead of unsuppressible APLOG_NOTICE
* follow formatting of existing proxy messages more closely


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@962972 13f79535-47bb-0310-9956-ffa450edef68
2010-07-11 02:54:30 +00:00
01b9f2e551 - Be less verbose at levels INFO and DEBUG in mod_proxy* and mod_ssl
- Add some trace logging to core and http


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@951900 13f79535-47bb-0310-9956-ffa450edef68
2010-06-06 17:07:12 +00:00
ebb62867fb Use the new APLOG_USE_MODULE/AP_DECLARE_MODULE macros everywhere to take
advantage of per-module loglevels


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@951895 13f79535-47bb-0310-9956-ffa450edef68
2010-06-06 16:59:50 +00:00
84f9080445 Move back to a post_config hook...
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@936880 13f79535-47bb-0310-9956-ffa450edef68
2010-04-22 14:52:43 +00:00
4c4b534813 Add updatelbstatus to allow to have all the LB logic in the balancers.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@936828 13f79535-47bb-0310-9956-ffa450edef68
2010-04-22 13:13:40 +00:00
d9fcb8daf1 Add in BalancerNonce directive... useful for shared-secrets.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@936407 13f79535-47bb-0310-9956-ffa450edef68
2010-04-21 18:19:06 +00:00
6f4c170986 small style tweaks to r930125
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@930254 13f79535-47bb-0310-9956-ffa450edef68
2010-04-02 12:19:22 +00:00
9c1c3f56d4 Proxy balancer: support setting error status according to
HTTP response code from a backend.
PR 48939 [Daniel Ruggeri <DRuggeri primary.net>]


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@930125 13f79535-47bb-0310-9956-ffa450edef68
2010-04-01 22:48:38 +00:00