Every once in awhile, a user will note in the s...@h Number Crunching forum
that work being processed on a host has been marked "Client detached" in
the task lists. It happens often enough to be a familiar complaint,
seemingly most often when the BOINC database is most heavily loaded. As
a pure guess, finding a host by it's hostid might fail under those
circumstances.

Looking through the authenticate_user() code in handle_request.cpp, the
logic when hostid is either missing or invalid but the host is found
based on host_cpid assumes that's sufficient to assume the host has
detached and reattached. I suggest adding a test for
(g_request->other_results.size() == 0). It should be unconditionally true
for an actual detach/reattach, otherwise if it's true it does no harm to
mark any results "Client detached" because the host didn't know of them.

The same test could also be used when both hostid and host_cpid have failed
to locate the host, but find_host_by_other() finds a close match. I don't
know whether that's a good idea, that matching seems adequate but having
failed the "id" methods seems to imply a sufficiently bad situation that a
fresh start may be needed. Judgement call, I guess.
-- 
                                                Joe

_______________________________________________
boinc_dev mailing list
[email protected]
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.

Reply via email to