scheduler: in resending lost results, must copy core

client version.  David -- this can probably be done
better and might indicate that some other info is not
being properly copied.  Please review and fix if needed.
Before this fix, scheduler was complaining about
outdated core clients version 0 < min needed core 413.

tools for scheduler logging: change cgi.log.X to scheduler.log.X
in script that creates on-line logs for users to read
to help diagnose problems.

svn path=/trunk/boinc/; revision=15751
This commit is contained in:
Bruce Allen 2008-08-04 23:30:37 +00:00
parent 55c6b2fc64
commit 349f27a39e
4 changed files with 31 additions and 7 deletions

View File

@ -6117,3 +6117,22 @@ David 4 Aug 2008
sched/
sched_send.C,h
Bruce 5 Aug 2008
- scheduler: in resending lost results, must copy core
client version. David -- this can probably be done
better and might indicate that some other info is not
being properly copied. Please review and fix if needed.
Before this fix, scheduler.log was complaining about
outdated core clients version 0 < min needed core 413.
- tools for scheduler logging: change cgi.log.X to scheduler.log.X
in script that creates on-line logs for users to read
to help diagnose problems.
tools/
makelog.sh
sched/
sched_send.C
handle_request.C

View File

@ -1324,6 +1324,7 @@ void process_request(
reply.wreq.nresults_on_host = sreq.other_results.size();
if (sreq.have_other_results_list) {
if (config.resend_lost_results) {
reply.wreq.core_client_version = 100*sreq.core_client_major_version + sreq.core_client_minor_version;
if (resend_lost_work(sreq, reply)) {
ok_to_send_work = false;
}

View File

@ -174,6 +174,10 @@ BEST_APP_VERSION* get_app_version(
if (av.appid != wu.appid) continue;
if (av.platformid != p->id) continue;
if (reply.wreq.core_client_version < av.min_core_version) {
log_messages.printf(MSG_DEBUG,
"outdated client version %d < min core version %d\n",
reply.wreq.core_client_version, av.min_core_version
);
reply.wreq.outdated_core = true;
continue;
}

View File

@ -44,17 +44,17 @@ while [ true ] ; do
echo " " >> $filepath
echo " " >> $filepath
# determine which files to search. Normally we just search cgi.log, but if the timestamp of cgi.log
# and cgi.log.0 are within 300 seconds of each other, then we search both. The 10,000,000 case will
# determine which files to search. Normally we just search scheduler.log, but if the timestamp of scheduler.log
# and scheduler.log.0 are within 600 seconds of each other, then we search both. The 10,000,000 case will
# handle what happens if either $cgilogtime or $cgilog0time is not properly defined.
export cgilog0time=`ls --time-style=+%s -l ../log_*/cgi.log.0 | awk '{print $6}'`
export cgilog0time=`ls --time-style=+%s -l ../log_*/scheduler.log.0 | awk '{print $6}'`
export cgilogtime=$cgilog0time
export cgilogtime=`ls --time-style=+%s -l ../log_*/cgi.log | awk '{print $6}'`
export cgilogtime=`ls --time-style=+%s -l ../log_*/scheduler.log | awk '{print $6}'`
export deltatime=$(($cgilogtime-$cgilog0time))
export filelist="../log_*/cgi.log"
if [ $deltatime -lt 300 ] || [ $deltatime -gt 10000000 ] ; then
export filelist="../log_*/cgi.log ../log_*/cgi.log.0"
export filelist="../log_*/scheduler.log"
if [ $deltatime -lt 600 ] || [ $deltatime -gt 10000000 ] ; then
export filelist="../log_*/scheduler.log ../log_*/scheduler.log.0"
fi
# now grep for all log entries from 3 minutes ago. Use sed to hide any sensitive info