diff --git a/checkin_notes b/checkin_notes index f7ebbf4351..4b488e2cb8 100755 --- a/checkin_notes +++ b/checkin_notes @@ -11747,4 +11747,14 @@ Bruce 13 Sept 2005 stdafx.cpp +Bruce 13 Sept 2005 + - Scheduler: if admin has set min_sendwork_interval in config file, then + include a delay request at least this big in EVERY sched reply. Else + if the hardwired standard delay in the client is smaller than + min_sendwork_interval, the client will keep getting connections + refused at the server side. David, please give this a glance. + + sched/ + server_types.C + diff --git a/sched/server_types.C b/sched/server_types.C index 0b7efc3e0c..0fb4baeb41 100644 --- a/sched/server_types.C +++ b/sched/server_types.C @@ -400,7 +400,13 @@ int SCHEDULER_REPLY::write(FILE* fout) { BOINC_MAJOR_VERSION*100+BOINC_MINOR_VERSION ); - if (request_delay) { + // if the scheduler has requested a delay OR the sysadmin has configured + // the scheduler with a minimum time between RPCs, send a delay request. + // Make it 1% larger than the min required to take care of time skew. + // + if (request_delay || config.min_sendwork_interval) { + double min_delay_needed=1.01*config.min_sendwork_interval; + if (request_delay%f\n", request_delay); log_messages.printf(SCHED_MSG_LOG::NORMAL, "sending delay request %f\n", request_delay); }