Loading CHANGES +5 −0 Original line number Diff line number Diff line Loading @@ -37,6 +37,11 @@ Changes with Apache 2.4.36 *) mod_proxy_scgi, mod_proxy_uwsgi: improve error handling when sending the body of the response. [Jim Jagielski] *) mpm_event: Stop issuing AH00484 "server reached MaxRequestWorkers..." when there are still idle threads available. When there are less idle threads than MinSpareThreads, issue new one-time message AH10159. Matches worker MPM. [Eric Covener] *) mod_http2: adding defensive code for stream EOS handling, in case the request handler missed to signal it the normal way (eos buckets). Addresses github issues https://github.com/icing/mod_h2/issues/164, https://github.com/icing/mod_h2/issues/167 Loading STATUS +0 −6 Original line number Diff line number Diff line Loading @@ -126,12 +126,6 @@ RELEASE SHOWSTOPPERS: PATCHES ACCEPTED TO BACKPORT FROM TRUNK: [ start all new proposals below, under PATCHES PROPOSED. ] *) event MPM: Don't log "at MaxRequestWorkers" when there are still idle threads, just like worker. trunk: //svn.apache.org/r1843513 2.4.x patch: http://people.apache.org/~covener/patches/2.4.x-event-maxclients.diff +1: covener, jim, minfrin PATCHES PROPOSED TO BACKPORT FROM TRUNK: [ New proposals should be added at the end of the list ] Loading server/mpm/event/event.c +18 −7 Original line number Diff line number Diff line Loading @@ -372,6 +372,7 @@ typedef struct event_retained_data { int first_thread_limit; int sick_child_detected; int maxclients_reported; int near_maxclients_reported; /* * The max child slot ever assigned, preserved across restarts. Necessary * to deal with MaxRequestWorkers changes across AP_SIG_GRACEFUL restarts. Loading Loading @@ -2833,14 +2834,24 @@ static void perform_idle_server_maintenance(int child_bucket, int num_buckets) } else if (idle_thread_count < min_spare_threads / num_buckets) { if (active_thread_count >= max_workers) { if (0 == idle_thread_count) { if (!retained->maxclients_reported) { /* only report this condition once */ ap_log_error(APLOG_MARK, APLOG_ERR, 0, ap_server_conf, APLOGNO(00484) "server reached MaxRequestWorkers setting, " "consider raising the MaxRequestWorkers " "setting"); retained->maxclients_reported = 1; } } else { if (!retained->near_maxclients_reported) { ap_log_error(APLOG_MARK, APLOG_ERR, 0, ap_server_conf, APLOGNO(10159) "server is within MinSpareThreads of " "MaxRequestWorkers, consider raising the " "MaxRequestWorkers setting"); retained->near_maxclients_reported = 1; } } retained->idle_spawn_rate[child_bucket] = 1; } else if (free_length == 0) { /* scoreboard is full, can't fork */ Loading Loading
CHANGES +5 −0 Original line number Diff line number Diff line Loading @@ -37,6 +37,11 @@ Changes with Apache 2.4.36 *) mod_proxy_scgi, mod_proxy_uwsgi: improve error handling when sending the body of the response. [Jim Jagielski] *) mpm_event: Stop issuing AH00484 "server reached MaxRequestWorkers..." when there are still idle threads available. When there are less idle threads than MinSpareThreads, issue new one-time message AH10159. Matches worker MPM. [Eric Covener] *) mod_http2: adding defensive code for stream EOS handling, in case the request handler missed to signal it the normal way (eos buckets). Addresses github issues https://github.com/icing/mod_h2/issues/164, https://github.com/icing/mod_h2/issues/167 Loading
STATUS +0 −6 Original line number Diff line number Diff line Loading @@ -126,12 +126,6 @@ RELEASE SHOWSTOPPERS: PATCHES ACCEPTED TO BACKPORT FROM TRUNK: [ start all new proposals below, under PATCHES PROPOSED. ] *) event MPM: Don't log "at MaxRequestWorkers" when there are still idle threads, just like worker. trunk: //svn.apache.org/r1843513 2.4.x patch: http://people.apache.org/~covener/patches/2.4.x-event-maxclients.diff +1: covener, jim, minfrin PATCHES PROPOSED TO BACKPORT FROM TRUNK: [ New proposals should be added at the end of the list ] Loading
server/mpm/event/event.c +18 −7 Original line number Diff line number Diff line Loading @@ -372,6 +372,7 @@ typedef struct event_retained_data { int first_thread_limit; int sick_child_detected; int maxclients_reported; int near_maxclients_reported; /* * The max child slot ever assigned, preserved across restarts. Necessary * to deal with MaxRequestWorkers changes across AP_SIG_GRACEFUL restarts. Loading Loading @@ -2833,14 +2834,24 @@ static void perform_idle_server_maintenance(int child_bucket, int num_buckets) } else if (idle_thread_count < min_spare_threads / num_buckets) { if (active_thread_count >= max_workers) { if (0 == idle_thread_count) { if (!retained->maxclients_reported) { /* only report this condition once */ ap_log_error(APLOG_MARK, APLOG_ERR, 0, ap_server_conf, APLOGNO(00484) "server reached MaxRequestWorkers setting, " "consider raising the MaxRequestWorkers " "setting"); retained->maxclients_reported = 1; } } else { if (!retained->near_maxclients_reported) { ap_log_error(APLOG_MARK, APLOG_ERR, 0, ap_server_conf, APLOGNO(10159) "server is within MinSpareThreads of " "MaxRequestWorkers, consider raising the " "MaxRequestWorkers setting"); retained->near_maxclients_reported = 1; } } retained->idle_spawn_rate[child_bucket] = 1; } else if (free_length == 0) { /* scoreboard is full, can't fork */ Loading