Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

plan classes: add workunit-related filters #2000

Merged
merged 1 commit into from
Aug 1, 2017

Conversation

bema-aei
Copy link
Contributor

@bema-aei bema-aei commented Aug 1, 2017

filters <min_wu_id>, <max_wu_id>, <min_batch>, <max_batch> and <disabled>

  • WU information is passed from check_homogeneous_app_version() down to PLAN_CLASS::check()

  • wu_is_infeasible_custom() is extended such that additional tasks also follow the plan class restrictions.

…atch> and <disabled>

- WU information is passed from check_homogeneous_app_version()
  down to PLAN_CLASS::check()

- wu_is_infeasible_custom() is extended such that additional
  tasks also follow the plan class restrictions.
@bema-aei bema-aei force-pushed the plan_classes_add_wu_filters branch from 154ca82 to c3d847d Compare August 1, 2017 17:40
@davidpanderson davidpanderson merged commit ef17328 into BOINC:master Aug 1, 2017
@davidpanderson
Copy link
Contributor

Thanks. Please update https://boinc.berkeley.edu/trac/wiki/AppPlanSpec

@davidpanderson
Copy link
Contributor

There may be a problem with this, because the app version selection mechanism caches the selection. It might see an old WU, choose an app version, and then use the same version for a later WU.
Can you please describe the use case in detail?

@brevilo
Copy link
Contributor

brevilo commented Aug 2, 2017

Since this PR got merged prematurely please open a new one (and add a xref) to have this discussion in the right place.

Thanks

@bema-aei
Copy link
Contributor Author

bema-aei commented Aug 2, 2017

@brevilo I don't know what change I should open a PR with, shall I open an issue?

@bema-aei
Copy link
Contributor Author

bema-aei commented Aug 2, 2017

@davidpanderson

There may be a problem with this, because the app version selection mechanism caches the selection. It might see an old WU, choose an app version, and then use the same version for a later WU. Can you please describe the use case in detail?

The modification of PLAN_CLASS::check() selects an application that matches the WU criteria (max/min WU id, max/min batch). The addition to wu_is_infeasible_custom() ensures that subsequent tasks that get selected for this app version also conform to the WU criteria for the app version's plan class. wu_is_infeasible_custom() calls plan_class_specs.wu_is_infeasible(plan_class, wu), which looks up the WU criteria for this plan class and checks whether the WU conforms. WUs that don't conform to the plan class criteria get rejected as 'infeasible'.

@brevilo
Copy link
Contributor

brevilo commented Aug 2, 2017

You need to open a new PR to get your changes integrated as this one is "done". Just use your original branch for it.

Now that the discussion already commenced, please keep it here and only reference this PR from the new one to establish a link.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants