Ruediger Pluem

* Add proposal
* Fix another typo
* Rebuild docs
* Rebuild docs
Merge r1869740 from trunk:

* Fix typo

Submitted by: rpluem

Reviewed by: rpluem

* Fix typo
* Rebuild docs
  1. … 15 more files in changeset.
* Rebuild docs
  1. … 36 more files in changeset.
* Correctly initialize nomime member
Fix pool concurrency problems

Create a subpool of the connection pool for worker scoped DNS resolutions.

This is needed to avoid race conditions in using the connection pool by multiple

threads during ramp up.

Recheck after obtaining the lock if we still need to do things or if they

were already done by another thread while we were waiting on the lock.

* modules/proxy/proxy_util.c: Create a subpool of the connection pool for worker

scoped DNS resolutions and use it.

* modules/proxy/mod_proxy.h: Define AP_VOLATILIZE_T and add dns_pool to

struct proxy_conn_pool.

* modules/proxy/mod_proxy_ftp.c: Use dns_pool and consider that

worker->cp->addr is volatile in this location of the code.

PR: 63503

* Add back logging goodness

Add back logging goodness added by covener in r1865938.

* Revert r1865944 and r1865938

Revert r1865944 and r1865938 in order to provide a better patch with less

locking and thus contention.

lognos

PR63503: fix pool concurrency problems in mod_proxy

reslist and resolver related calls could concurrently access the same pool.

Submitted By: Don Poitras <Don.Poitras sas.com>

Committed By: covener

Merge r1866078 from trunk:

* Make it obsolete to supply a starting pool

Improve dump_all_pools by making it obsolete to supply a starting pool.

If the parameter is not supplied ap_pglobal which is a global symbol is

used as starting pool.

The pool parameter is still accepted and considered for backwards

compatibility or if ap_pglobal cannot be resolved.

Submitted by: rpluem

Merge r1844889 from trunk:

* Add a command to dump some data from the scoreboard

Submitted by: rpluem

Merge r1829048 from trunk:

Dump server_rec ->addrs list in dump_server_rec.

Submitted by: jorton

Reviewed by: rpluem

* Make it obsolete to supply a starting pool

Improve dump_all_pools by making it obsolete to supply a starting pool.

If the parameter is not supplied ap_pglobal which is a global symbol is

used as starting pool.

The pool parameter is still accepted and considered for backwards

compatibility or if ap_pglobal cannot be resolved.

* Lock the worker, not the balancer. We even do not know if we have a balancer
* Comment
* Vote and promote
* Vote and promote
* All backported
* Backported in r1862410
* Only availabe since 2.4.40
* Fix flow
Merge r1842010, r1841225, r1862039, r1862040, r1862042 from trunk:

* dav_stream_response processes data that has been allocated from the propdb

pool. Hence close the propdb *after* dav_stream_response which clears thei

probdb pool.

* Doing a PROPFIND on a large collection e.g. 50.000 elements can easily

consume 1 GB of memory as the subrequests and propdb pools are not

destroyed and cleared after each element was handled.

Do this now. There is one case in dav_get_props where elem->priv

lives longer then the propdb pool. In this case allocate from r->pool.

Furthermore also recycle propdb's which allows to clear the propdb's

pools instead of destroying them and creating them again.

Simplify handling of short-lived pool for dav_propdb in mod_dav. No

functional change.

* modules/dav/main/props.c (dav_popen_propdb): Rename from

dav_open_propdb, take a pool argument.

(dav_open_propdb): Reimplement in terms of above, using

r->pool.

(dav_propfind_walker): Switch to using dav_open_propdb

with scratchpool.

* modules/dav/main/props.c (dav_do_prop_subreq): Allocate escaped URI

out of propdb pool, fixing small per-resource leak during a PROPFIND

walk.

Submitted by: jorton, rpluem

* modules/dav/main/mod_dav.c (dav_send_multistatus): Tag the pool.

Reviewed by: rpluem, jorton, jim

* Replace apr_psprintf with apr_pstrcat where the format strings only

contain %s to improve efficiency. Leave out error messages as they

are not on a crtical code path and error message become less readable

when taking out the format specifiers.

* Update proposal to incorporate the recent memory improvement patches from Joe
* Leave a breadcrumb note for another backport proposal that needs to be done.
* Fix the logic to follow the comment. So far we only forwarded the header if

we have NOT used it AND the env variable was set. But if we have not

used it we should forward it in any case independent of the env variable

setting.

This aligns also with the behaviour in ap_proxy_create_hdrbrgd.