Great!
Other projects: please test this change when convenient.
-- David

On 15-Mar-2013 3:45 PM, Slawomir Rzeznicki wrote:
Hello,
I've upgraded the validator ~24 hours ago and it's running the new code since 
then.
So far everything looks fine, thanks for the fix.
On Thu, 14 Mar 2013 13:33:35 -0700
  David Anderson <[email protected] <mailto:[email protected]>> wrote:
 >Slawomir:
 >I checked in a change to validator.cpp which (I hope)
 >will fix this problem.
 >Please test it when convenient and let me know whether it
 >works.
 >
 >Note to other projects: if you have validators that mark
 >isolated jobs as invalid (i.e. init_result() can return
 >an error)
 >then this change may fix incorrect behavior like
 >generating too many job instances.
 >
 >-- David
 >
 >On 12-Mar-2013 4:55 AM, Slawomir Rzeznicki wrote:
 >>Hello,
 >>
 >>Recently I've ran into a problem at Enigma@Home <mailto:Enigma@Home>.
 >>The project uses quorum = 1, the other result settings
 >>are:
 >>
 >>minimum quorum 1
 >>initial replication 1
 >>max # of error/total/success tasks 3, 10, 6
 >>
 >>Everything is fine until the server receives a success
 >>result which is then
 >>marked as invalid by the validator.
 >>The validator leaves the outcome at
 >>RESULT_OUTCOME_SUCCESS and sets
 >>validate_state to
 >>VALIDATE_STATE_INVALID.
 >>The result is then marked as 'Completed, marked as
 >>invalid' just like I want.
 >>
 >>The problem is that the validator bumps the
 >>target_nresults by 1 which results
 >>in spawning two results instead of one.
 >>
 >>Now theoretically it's not a problem, here at Enigma@Home 
<mailto:Enigma@Home>
 >>each result runs on
 >>it's own and it doesn't really
 >>matter if I use 1 workunit -> 1 result or 1 workunit ->
 >>many results (I use 1:1
 >>mainly because it makes validation easier).
 >>However due to random host turnaround times, some of the
 >>'bonus work' will be
 >>cancelled by server (if one of the hosts
 >>is way faster and the other one contacts the server) or,
 >>what's worse, it will
 >>be wasted if the other host does not contact
 >>the server for a long period of time.
 >>
 >>The source of the problem is in validator.cpp line 586:
 >>
 >>// if #success results >= target_nresults,
 >>// we need more results, so bump target_nresults
 >>// NOTE: nsuccess_results should never be >
 >>target_nresults,
 >>// but accommodate that if it should happen
 >>//
 >>if (nsuccess_results >= wu.target_nresults) {
 >>    wu.target_nresults = nsuccess_results+1;
 >>    transition_time = IMMEDIATE;
 >>}
 >>
 >>Just for test I commented these lines and the problem is
 >>gone.
 >>Does it count as a bug, at least when the project uses
 >>quorum = 1 ?
 >>
 >>Regards,
 >>Slawomir Rzeznicki
 >>http://www.enigmaathome.net
 >>
 >>
 >>
 >>_______________________________________________
 >>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.
 >_______________________________________________
 >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.
_______________________________________________
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