Changes between Initial Version and Version 1 of JobPinning

Aug 14, 2017, 1:17:44 PM (4 years ago)



  • JobPinning

    v1 v1  
     1= Pinning jobs to app version numbers =
     3BOINC's default behavior is to process jobs with the latest app versions.
     5During the lifetime of an app, there may be changes that are not backward compatible, e.g.:
     7 * A new version uses a different input file format
     8 * A new version produces output that won't validate against older versions.
     10If the new version is introduced while there are still older jobs in the system,
     11jobs will fail and/or not validate.
     13One alternative is to stop adding jobs until there are no jobs in progress,
     14then add the new app versions and resume creating jobs.
     15This can cause lots of unused capacity.
     17Another option is to create a new app.
     18This can cause various problems, e.g. invalidating user configurations
     19and app selection settings.
     21== Job pinning ==
     23A third option is to '''pin''' jobs to a particular app version number.
     24For example,
     26create_work --app_version_num 405 ...
     28means that the job is to be processed only by app versions with version number 415 (i.e. 4.15).
     30The default is 0, meaning that the job is processed using the latest version.
     32In addition, you must tell BOINC what the earliest usable version for the app is,
     33i.e. the lowest version number for jobs currently in progress.
     34Do this by setting the "min_version" field in the app's DB entry.
     35The easiest way to do this is to change the project.xml, e.g.
     37    <app>
     38        <name>uppercase</name>
     39        <user_friendly_name>upperCASE</user_friendly_name>
     40        <min_version>415</min_version>
     41    </app>
     43and then run [XaddTool xadd].