httpd-cvs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ic...@apache.org
Subject svn commit: r1810088 - in /httpd/httpd/trunk: CHANGES modules/http2/h2_mplx.c
Date Fri, 29 Sep 2017 12:29:23 GMT
Author: icing
Date: Fri Sep 29 12:29:23 2017
New Revision: 1810088

URL: http://svn.apache.org/viewvc?rev=1810088&view=rev
Log:
reverting r1807238 bc not addressing the issue https://github.com/icing/mod_h2/issues/120

Modified:
    httpd/httpd/trunk/CHANGES
    httpd/httpd/trunk/modules/http2/h2_mplx.c

Modified: httpd/httpd/trunk/CHANGES
URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/CHANGES?rev=1810088&r1=1810087&r2=1810088&view=diff
==============================================================================
--- httpd/httpd/trunk/CHANGES [utf-8] (original)
+++ httpd/httpd/trunk/CHANGES [utf-8] Fri Sep 29 12:29:23 2017
@@ -66,9 +66,6 @@ Changes with Apache 2.5.0
        to facilitate upgrades.
     [Stefan Eissing]
 
-  *) mod_http2: DoS flow control protection is less agressive as long as active tasks stay
-     below worker capacity. Intended to fix problems with media streaming. [Stefan Eissing]
-     
   *) mod_md: v0.9.0:
      Certificate provisioning from Let's Encrypt (and other ACME CAs) for mod_ssl virtual
hosts.
      [Stefan Eissing]

Modified: httpd/httpd/trunk/modules/http2/h2_mplx.c
URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/modules/http2/h2_mplx.c?rev=1810088&r1=1810087&r2=1810088&view=diff
==============================================================================
--- httpd/httpd/trunk/modules/http2/h2_mplx.c (original)
+++ httpd/httpd/trunk/modules/http2/h2_mplx.c Fri Sep 29 12:29:23 2017
@@ -957,29 +957,19 @@ static h2_stream *get_timed_out_busy_str
 static apr_status_t unschedule_slow_tasks(h2_mplx *m) 
 {
     h2_stream *stream;
-    int n, amax;
+    int n;
     
     /* Try to get rid of streams that occupy workers. Look for safe requests
      * that are repeatable. If none found, fail the connection.
-     *
-     * see: https://github.com/icing/mod_h2/issues/120
-     * Enforcing m->limit_active (which can go as low as 2) was too 
-     * aggressive for media streaming. Players needed to re-open streams/connections
-     * continously as they were reading large files very slowly.
      */
-    amax = m->max_active/2;
-    if (m->limit_active > amax) {
-        amax = m->limit_active; 
-    }
-    n = (m->tasks_active - amax - (int)h2_ihash_count(m->sredo));
-    
+    n = (m->tasks_active - m->limit_active - (int)h2_ihash_count(m->sredo));
     while (n > 0 && (stream = get_latest_repeatable_unsubmitted_stream(m))) {
         h2_task_rst(stream->task, H2_ERR_CANCEL);
         h2_ihash_add(m->sredo, stream);
         --n;
     }
     
-    if ((m->tasks_active - h2_ihash_count(m->sredo)) > amax) {
+    if ((m->tasks_active - h2_ihash_count(m->sredo)) > m->limit_active) {
         h2_stream *stream = get_timed_out_busy_stream(m);
         if (stream) {
             /* Too many busy workers, unable to cancel enough streams



Mime
View raw message