You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by Greg Hudson <gh...@MIT.EDU> on 2004/04/28 20:31:55 UTC

RFC: Changing default ra_dav timeout

For svn 1.1, I'd like to increase the default HTTP timeout to 3600
seconds, from the built-in neon timeout of 120 seconds.

The fundamental reason for this change is that I don't think an RPC
system should time out at all; 3600 seconds seems like a reasonable
approximation of "forever" given that neon doesn't provide a way to
disable the timeout.  The proximal reason is that libsvn_fs_fs can
take a while to finalize a big commit (Josh measured it at five
minutes to finalize the commit of a 50,000-file Mozilla source import,
on his machine), and having that time out would hurt.

(It would be possible to change the libsvn_fs_fs design so that there
is no expensive finalization phase before a commit is completed, but
it would add a lot of complexity, and one of the explicit tradeoffs of
libsvn_fs_fs is that it's supposed to make reads simpler at the
expense of commit throughput.)

Anyway, here's your chance to object before this goes into the trunk.

Index: subversion/libsvn_ra_dav/session.c
===================================================================
--- subversion/libsvn_ra_dav/session.c  (revision 9551)
+++ subversion/libsvn_ra_dav/session.c  (working copy)
@@ -39,6 +39,8 @@
 
 #include "ra_dav.h"
 
+#define DEFAULT_HTTP_TIMEOUT 3600
+
 

 /* a cleanup routine attached to the pool that contains the RA session
    baton. */
@@ -641,11 +643,10 @@
           }
       }
 
-    if (timeout)
-      {
-        ne_set_read_timeout(sess, timeout);
-        ne_set_read_timeout(sess2, timeout);
-      }
+    if (!timeout)
+      timeout = DEFAULT_HTTP_TIMEOUT;
+    ne_set_read_timeout(sess, timeout);
+    ne_set_read_timeout(sess2, timeout);
   }
 
   /* make sure we will eventually destroy the session */

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: RFC: Changing default ra_dav timeout

Posted by kf...@collab.net.
+1 here.

Greg Hudson <gh...@MIT.EDU> writes:
> For svn 1.1, I'd like to increase the default HTTP timeout to 3600
> seconds, from the built-in neon timeout of 120 seconds.
>
> The fundamental reason for this change is that I don't think an RPC
> system should time out at all; 3600 seconds seems like a reasonable
> approximation of "forever" given that neon doesn't provide a way to
> disable the timeout.  The proximal reason is that libsvn_fs_fs can
> take a while to finalize a big commit (Josh measured it at five
> minutes to finalize the commit of a 50,000-file Mozilla source import,
> on his machine), and having that time out would hurt.
> 
> (It would be possible to change the libsvn_fs_fs design so that there
> is no expensive finalization phase before a commit is completed, but
> it would add a lot of complexity, and one of the explicit tradeoffs of
> libsvn_fs_fs is that it's supposed to make reads simpler at the
> expense of commit throughput.)
> 
> Anyway, here's your chance to object before this goes into the trunk.
> 
> Index: subversion/libsvn_ra_dav/session.c
> ===================================================================
> --- subversion/libsvn_ra_dav/session.c  (revision 9551)
> +++ subversion/libsvn_ra_dav/session.c  (working copy)
> @@ -39,6 +39,8 @@
>  
>  #include "ra_dav.h"
>  
> +#define DEFAULT_HTTP_TIMEOUT 3600
> +
>  
> 
>  /* a cleanup routine attached to the pool that contains the RA session
>     baton. */
> @@ -641,11 +643,10 @@
>            }
>        }
>  
> -    if (timeout)
> -      {
> -        ne_set_read_timeout(sess, timeout);
> -        ne_set_read_timeout(sess2, timeout);
> -      }
> +    if (!timeout)
> +      timeout = DEFAULT_HTTP_TIMEOUT;
> +    ne_set_read_timeout(sess, timeout);
> +    ne_set_read_timeout(sess2, timeout);
>    }
>  
>    /* make sure we will eventually destroy the session */
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
> For additional commands, e-mail: dev-help@subversion.tigris.org

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org