Jim Jagielski
e075565180
Add in BalancerGrowth and its functionality... this lays
...
the framework for adding additional Balancers: post-config
by allowing for shm growth.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1125451 13f79535-47bb-0310-9956-ffa450edef68
2011-05-20 16:29:48 +00:00
Guenter Knauf
4be15ef43a
Fixed only some proxy prototype formats.
...
Function names must follow the *_DECLARE() in the same
line regardless how long the function names are!
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1088421 13f79535-47bb-0310-9956-ffa450edef68
2011-04-03 21:37:20 +00:00
Jim Jagielski
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
Jeff Trawick
562c645ad6
change signed single-bit fields to unsigned
...
some of these were exposed to mods so the mmn is bumped, without
regard to whether any compiler will have to generate different
code
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1086662 13f79535-47bb-0310-9956-ffa450edef68
2011-03-29 18:20:52 +00:00
Jim Jagielski
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
Jim Jagielski
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
Jim Jagielski
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
Jim Jagielski
f863547c32
Expose this as part of the API. That way, other code/modules
...
which want to overload mod_proxy's trans phase can use it to
handle ProxyPass as well, without requiring monkeying
with conf->aliases...
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1068400 13f79535-47bb-0310-9956-ffa450edef68
2011-02-08 13:59:36 +00:00
Jim Jagielski
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
Jim Jagielski
42f76d8265
No need to pollute the whole namespace...
...
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1066631 13f79535-47bb-0310-9956-ffa450edef68
2011-02-02 21:25:34 +00:00
Jim Jagielski
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
Jim Jagielski
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
Jim Jagielski
19a1fc4170
bitfields should be unsigned
...
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1066112 13f79535-47bb-0310-9956-ffa450edef68
2011-02-01 18:14:37 +00:00
Jim Jagielski
6c0a4fc5da
Move the setting of flags into a func... that way there is
...
one place to maintain as the number of flags grow...
Since we are using just the bits, make unsigned.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1066110 13f79535-47bb-0310-9956-ffa450edef68
2011-02-01 18:13:15 +00:00
Jim Jagielski
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
Jim Jagielski
7b07c3822e
tuck away code that lets us ensure that the id is always
...
"unique"
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1065749 13f79535-47bb-0310-9956-ffa450edef68
2011-01-31 20:28:57 +00:00
Jim Jagielski
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
Igor Galić
ceb1766d2d
Add a patch from Vincent Deffontaines to make the adding of X-forwarded-*
...
headers configurable: ProxyAddHeaders, defaulting to 'On'.
http://www.mail-archive.com/dev@httpd.apache.org/msg49971.html
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1060795 13f79535-47bb-0310-9956-ffa450edef68
2011-01-19 12:48:17 +00:00
Jim Jagielski
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
Rainer Jung
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
Jim Jagielski
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
Jim Jagielski
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
Jim Jagielski
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
Jim Jagielski
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
Jim Jagielski
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
Jim Jagielski
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
Jim Jagielski
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
Graham Leggett
40a2f60a99
Update the comment to indicate what the backend request is really used for.
...
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1055367 13f79535-47bb-0310-9956-ffa450edef68
2011-01-05 09:18:18 +00:00
Ruediger Pluem
cbe247d915
* The concept of the cleaned flag is flawed: Once we returned the connection
...
to the pool we cannot longer rely on it as another thread could have leased
the connection in the meantime and might have modified it.
BUT: We only use this flag once we returned the connection to the pool.
So signal that we returned the connection to the pool by something that is
local to the thread, in this case set backend to NULL if we already have
returende the connection.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1052314 13f79535-47bb-0310-9956-ffa450edef68
2010-12-23 16:43:43 +00:00
Graham Leggett
807be6db70
Revert r1035504, this was the wrong way to do it.
...
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1035576 13f79535-47bb-0310-9956-ffa450edef68
2010-11-16 10:27:26 +00:00
Graham Leggett
38437740bb
Fix pool lifetime issues when the proxy backend connection is terminated
...
early by forcing a setaside on transient buckets placed in the brigade
by mod_ssl. This has the effect of extending the lifetime of buckets until
the end of the request. This is a variation on the original fix for this
problem, which added transient buckets to be setaside later in the process.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1035504 13f79535-47bb-0310-9956-ffa450edef68
2010-11-16 00:23:37 +00:00
Nick Kew
3bad5b1780
Fix mod_proxy to support setting source address.
...
PR 29404
Seems lots of users want this, and a couple of them have recenly asked nicely
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1034916 13f79535-47bb-0310-9956-ffa450edef68
2010-11-14 00:01:43 +00:00
Jeff Trawick
c0d5e1671d
improve wording of some function descriptions
...
add explicit "FIXME" to an ancient issue
remove implicit fixme wording related to mutex use
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1032286 13f79535-47bb-0310-9956-ffa450edef68
2010-11-07 14:35:21 +00:00
Jeff Trawick
c7d76f1aac
axe outdated comment about FIXMEs/CHECKMEs
...
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1032271 13f79535-47bb-0310-9956-ffa450edef68
2010-11-07 13:13:26 +00:00
Daniel Earl Poirier
6b803976f2
Fix a number of typos and misspellings. Reported by Ville Skytta.
...
PR48496.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1029134 13f79535-47bb-0310-9956-ffa450edef68
2010-10-30 17:56:13 +00:00
Graham Leggett
87c10fe5f1
Optimise more of the flags within proxy structures.
...
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1026668 13f79535-47bb-0310-9956-ffa450edef68
2010-10-23 19:34:16 +00:00
Graham Leggett
9d58cd6990
mod_proxy: Release the backend connection as soon as EOS is detected,
...
so the backend isn't forced to wait for the client to eventually
acknowledge the data.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1026665 13f79535-47bb-0310-9956-ffa450edef68
2010-10-23 19:26:44 +00:00
Graham Leggett
13fec746f9
mod_proxy: Optimise ProxyPass within a Location so that it is stored
...
per-directory, and chosen during the location walk. Make ProxyPass
work correctly from within a LocationMatch.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1026184 13f79535-47bb-0310-9956-ffa450edef68
2010-10-22 00:13:45 +00:00
Graham Leggett
a68e17cdb2
Optimise the set flags in the mod_proxy structures.
...
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1025699 13f79535-47bb-0310-9956-ffa450edef68
2010-10-20 19:47:00 +00:00
Graham Leggett
84a346c5bb
mod_proxy: Move the ProxyErrorOverride directive to have per directory scope.
...
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1025666 13f79535-47bb-0310-9956-ffa450edef68
2010-10-20 18:33:55 +00:00
Jim Jagielski
1d50e028df
Fold in possible use of FNV if desired
...
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@998949 13f79535-47bb-0310-9956-ffa450edef68
2010-09-20 14:51:19 +00:00
Jim Jagielski
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
Jim Jagielski
ed67c11e05
Allow for modules to keep track of worker slot
...
numbers themselves if they want, by allowing for
worker create/alloc functions to take a slot number id.
Done via _wid() variants of 3 proxy funcs.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@964089 13f79535-47bb-0310-9956-ffa450edef68
2010-07-14 16:03:19 +00:00
Stefan Fritsch
ed451e94d1
re-order many struct members for better alignment on 64bit
...
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@959464 13f79535-47bb-0310-9956-ffa450edef68
2010-06-30 22:34:05 +00:00
Stefan Fritsch
877b46df6b
log issues with CONNECT at request scope instead of server scope
...
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@951189 13f79535-47bb-0310-9956-ffa450edef68
2010-06-03 22:47:46 +00:00
Jean-Frederic Clere
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
Nick Kew
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
Rainer Jung
8eb4de81e9
Support remote https proxies by using HTTP CONNECT.
...
PR: 19188
Submitted by: Philippe Dutrueux <lilas evidian.com>
Reviewed by: rjung
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@909323 13f79535-47bb-0310-9956-ffa450edef68
2010-02-12 09:58:48 +00:00
Rainer Jung
6786f61f3e
Fix typo in comment.
...
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@909290 13f79535-47bb-0310-9956-ffa450edef68
2010-02-12 08:27:04 +00:00
Takashi Sato
92cf9b940e
Move ProxyFtpDirCharset from mod_proxy to mod_proxy_ftp.
...
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@894526 13f79535-47bb-0310-9956-ffa450edef68
2009-12-30 00:51:46 +00:00