mirror of https://github.com/BOINC/boinc.git
- scheduler: moved client version check to be last of the checks
performed for a particular app version. It is not necessary to tell the user to upgrade the client just to suite the needs of a particular app version if this app version requires resources that the host dosn't have or didn't request work for. Actually I don't think it's good to tell the user he needs to upgrade the client if there is only one particular app version that requires a more recent one than he has. I think that the purpose of the g_wreq->outdated_client flag was checking the min_core_version in the project configuration. For this the flag and the notice/message that it triggers is still ok. But in the app version checks setting this flag leads to misleading messages in most cases, so I commented that out for now. I'm not sure, though, that both of these measurements are needed. svn path=/trunk/boinc/; revision=25742
This commit is contained in:
parent
c94ca443c1
commit
ac24fafb4c
|
@ -4196,3 +4196,24 @@ David 5 June 2012
|
||||||
sched/
|
sched/
|
||||||
plan_class_spec.cpp
|
plan_class_spec.cpp
|
||||||
plan_class_spec.xml.sample
|
plan_class_spec.xml.sample
|
||||||
|
|
||||||
|
Bernd 6 Jun 2012
|
||||||
|
- scheduler: moved client version check to be last of the checks
|
||||||
|
performed for a particular app version. It is not necessary
|
||||||
|
to tell the user to upgrade the client just to suite the needs of
|
||||||
|
a particular app version if this app version requires resources
|
||||||
|
that the host dosn't have or didn't request work for.
|
||||||
|
|
||||||
|
Actually I don't think it's good to tell the user he needs to
|
||||||
|
upgrade the client if there is only one particular app version
|
||||||
|
that requires a more recent one than he has. I think that the
|
||||||
|
purpose of the g_wreq->outdated_client flag was checking the
|
||||||
|
min_core_version in the project configuration. For this the
|
||||||
|
flag and the notice/message that it triggers is still ok. But
|
||||||
|
in the app version checks setting this flag leads to misleading
|
||||||
|
messages in most cases, so I commented that out for now.
|
||||||
|
|
||||||
|
I'm not sure, though, that both of these measurements are needed.
|
||||||
|
|
||||||
|
sched/
|
||||||
|
sched_version.cpp
|
||||||
|
|
|
@ -687,25 +687,6 @@ BEST_APP_VERSION* get_app_version(
|
||||||
if (av.appid != wu.appid) continue;
|
if (av.appid != wu.appid) continue;
|
||||||
if (av.platformid != p->id) continue;
|
if (av.platformid != p->id) continue;
|
||||||
|
|
||||||
if (g_request->core_client_version < av.min_core_version) {
|
|
||||||
if (config.debug_version_select) {
|
|
||||||
log_messages.printf(MSG_NORMAL,
|
|
||||||
"[version] [AV#%d] client version %d < min core version %d\n",
|
|
||||||
av.id, g_request->core_client_version, av.min_core_version
|
|
||||||
);
|
|
||||||
}
|
|
||||||
g_wreq->outdated_client = true;
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
if (av.max_core_version && g_request->core_client_version > av.max_core_version) {
|
|
||||||
if (config.debug_version_select) {
|
|
||||||
log_messages.printf(MSG_NORMAL,
|
|
||||||
"[version] [AV#%d] client version %d > max core version %d\n",
|
|
||||||
av.id, g_request->core_client_version, av.max_core_version
|
|
||||||
);
|
|
||||||
}
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
if (strlen(av.plan_class)) {
|
if (strlen(av.plan_class)) {
|
||||||
if (!app_plan(*g_request, av.plan_class, host_usage)) {
|
if (!app_plan(*g_request, av.plan_class, host_usage)) {
|
||||||
if (config.debug_version_select) {
|
if (config.debug_version_select) {
|
||||||
|
@ -801,6 +782,30 @@ BEST_APP_VERSION* get_app_version(
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// skip versions which require a newer core client
|
||||||
|
//
|
||||||
|
if (g_request->core_client_version < av.min_core_version) {
|
||||||
|
if (config.debug_version_select) {
|
||||||
|
log_messages.printf(MSG_NORMAL,
|
||||||
|
"[version] [AV#%d] client version %d < min core version %d\n",
|
||||||
|
av.id, g_request->core_client_version, av.min_core_version
|
||||||
|
);
|
||||||
|
}
|
||||||
|
// Do not tell the user he needs to update the client
|
||||||
|
// just because the client is too old for a particular app version
|
||||||
|
// g_wreq->outdated_client = true;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
if (av.max_core_version && g_request->core_client_version > av.max_core_version) {
|
||||||
|
if (config.debug_version_select) {
|
||||||
|
log_messages.printf(MSG_NORMAL,
|
||||||
|
"[version] [AV#%d] client version %d > max core version %d\n",
|
||||||
|
av.id, g_request->core_client_version, av.max_core_version
|
||||||
|
);
|
||||||
|
}
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
// at this point we know the version is feasible,
|
// at this point we know the version is feasible,
|
||||||
// so if config.prefer_primary_platform is set
|
// so if config.prefer_primary_platform is set
|
||||||
// we won't look any further.
|
// we won't look any further.
|
||||||
|
|
Loading…
Reference in New Issue