On Wed, Aug 10, 2022 at 02:17:53AM +0000, Job Snijders wrote:
> Dear all,
> 
> I like to run rpki-client very often, and not be bogged down with
> non-responsive respositories. If a repository is uncommunicative,
> rpki-client as-is will try other transports, or come back later (because
> of a next crontab invocation).
> 
> In rpki-client, RSYNC & HTTPS timeouts now are unified:
> 
> - if the initial connection can't be established within MAX_CONN_TIMEOUT
>   seconds, try one of: Another Address Family (such as IPv6), or Another
>   Transport Protocol (like RSYNC).
> 
> - If the remote peer at the other side of the HTTPS or RSYNC connection
>   doens't send us any data for the duration of MAX_IO_TIMEOUT, try one
>   of Another Address Family (such as IPv6), or Another Transport
>   Protocol (like RSYNC).
> 
> I propose that if the remote side fails to send any new data for the
> duration of 30 seconds, we should give up, try something else (which
> includes locally cached data from the previous invocation).
> 
> I've tested with MAX_IO_TIMEOUT set to 15 seconds; and would feel
> comfortable committing that; but some in our community expressed
> hesitance, hence the below proposal for 30.
> 
> OK?

I'm OK with 30sec I would not go lower because on shitty networks with
lots of retransmits the time for data to arrive may be a fair bit longer
than what you see. Also once the connection is open it should be ok to try
a bit harder to finish the transaction.

> Index: extern.h
> ===================================================================
> RCS file: /cvs/src/usr.sbin/rpki-client/extern.h,v
> retrieving revision 1.146
> diff -u -p -r1.146 extern.h
> --- extern.h  9 Aug 2022 09:02:26 -0000       1.146
> +++ extern.h  10 Aug 2022 02:01:45 -0000
> @@ -731,7 +731,7 @@ int       mkpathat(int, const char *);
>  #define MAX_CONN_TIMEOUT     15
>  
>  /* How long to wait for IO from a remote server. */
> -#define MAX_IO_TIMEOUT               180
> +#define MAX_IO_TIMEOUT               30
>  
>  /* Maximum allowd repositories per tal */
>  #define MAX_REPO_PER_TAL     1000
> 

OK claudio@

-- 
:wq Claudio

Reply via email to