name of elapsed_time() to elapsed_wallclock_time().
- Backend logging statements on exit() which echo elapsed run time to logs now
do this with much higher printed precision.
- Backend logging, separate scheduler requests with an almost blank line
svn path=/trunk/boinc/; revision=8027
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.
svn path=/trunk/boinc/; revision=7999
Now delete files in increasing mtime order
Additional paranoia to avoid deleting 'the wrong' files if there
is a configuration or other user/admin error
Use C++ string type for storage efficiency in list
Only delete antique files when there is no OTHER file deletion to do
svn path=/trunk/boinc/; revision=7461
If this switch is enabled on the command line, then
periodically (once per hour) removes any files in the
upload/ directory that are older than the oldest WU in the
database. These files are created when BOINC clients
return work really late after the deadline -- so late that
the corresponding WU has been deleted from the database.
About half the results in the E@H upload/ directory were
of this form. The 'find' command is used to locate such
files. This is potentially a dangerous operation since
if we find then delete the wrong file(s) all hell could
break lose on the server. So a lot of 'paranoia and
sanity checking' is done before unlink(path) is called,
and we bail out at the first sign of something odd.
svn path=/trunk/boinc/; revision=7208
file an output file for a SUCCESSFUL result. Failure to
find an output file for an UNSUCCESSFUL result is OK, and
just logged at level DEBUG.
svn path=/trunk/boinc/; revision=7184
[1] WU error flag set
[2] WU already has canonical result
[3] (report_deadline - current_time) < 25% of WU delay bound
If any of these conditions is true, set the report deadline to the
current time and set the WU transition time to the current time.
The transitioner will then 'do the right thing'.
svn path=/trunk/boinc/; revision=6871
(1) Put core client version number into wreq BEFORE searching for
an app version. Problem is that reply.wreq.core_client_version was only being set in
send_work(), which was too late for the resend_lost_work() part
of the code. You might want to move all the initialization of reply.wreq
out of send_work(). The core client version is needed to see if the
app is compatible with it when calling get_app_version().
(2) In retransmitting lost work, do NOT set the deadline to new
values. Else the result will never time out! But DO reset
the sent_time, to indicate that result was resent.
transitioner:
In the transitioner, make the next WU transition time be the min
of deadlines of the in progress results, NOT the min of the
sent_time+delay bound. Unless a project wants to do dynamic
adjustment of delay bounds for in progress results this should be OK.
CPDN people: I don't think this does any harm for trickles but
you might want to give it a quick look to be 100% sure.
svn path=/trunk/boinc/; revision=6870
values. Else the result will never time out! (David, would it be OK to
simply modify the send_time but NOT the deadline? This would make it easy
to see in the database that the result is being resent.)
svn path=/trunk/boinc/; revision=6868
scheduler.
Problem is that reply.wreq.core_client_version was only being set in
send_work(), which was too late for the resend_lost_work() part
of the code. You might want to move all the initialization of reply.wreq
out of send_work(). The core client version is needed to see if the
app is compatible with it when calling get_app_version().
svn path=/trunk/boinc/; revision=6867