Server settings take effect on the second contact
Changing the settings at the server end (eg. no GPU work) only takes effect the second time contact is made by the client. Presumably the client asks for CPU and GPU work, then is told the new settings by the server. This should be done the other way round.
OS: Windows 11 (x64) BOINC Version: 7.16.20 (x64)
'twas ever thus. An RPC (update) is the only way to exchange information between the client and any server. Set 'no new tasks' before the first RPC if it bothers you.
It doesn't bother me enough to remember, but I assume it's wasting server load. Can't it do the update just before asking for work instead of just after?
Can you describe the problem more precisely? Are you e.g. setting "no NVIDIA GPU" on the web site, and the next scheduler request returns a job for NVIDIA GPU? If so that's a bug. What project?
I tested that this morning using NumberFields@home.
I first allowed GPU tasks (only), updated, and requested work:
04/02/2022 11:09:01 | NumberFields@home | Sending scheduler request: To fetch work.
04/02/2022 11:09:01 | NumberFields@home | Requesting new tasks for NVIDIA GPU
04/02/2022 11:09:01 | NumberFields@home | [sched_op] CPU work request: 0.00 seconds; 0.00 devices
04/02/2022 11:09:01 | NumberFields@home | [sched_op] NVIDIA GPU work request: 4823.28 seconds; 0.50 devices
04/02/2022 11:09:03 | NumberFields@home | Scheduler request completed: got 7 new tasks
That's correct. Then I changed the project settings, and requested work, without updating first:
04/02/2022 11:13:18 | NumberFields@home | Sending scheduler request: To fetch work.
04/02/2022 11:13:18 | NumberFields@home | Requesting new tasks for NVIDIA GPU
04/02/2022 11:13:18 | NumberFields@home | [sched_op] CPU work request: 0.00 seconds; 0.00 devices
04/02/2022 11:13:18 | NumberFields@home | [sched_op] NVIDIA GPU work request: 4565.06 seconds; 0.00 devices
04/02/2022 11:13:20 | NumberFields@home | Scheduler request completed: got 0 new tasks
That's what Peter expected, but didn't see.
The next work fetch shows that the new project settings have taken effect:
04/02/2022 11:13:55 | NumberFields@home | Sending scheduler request: To fetch work.
04/02/2022 11:13:55 | NumberFields@home | Requesting new tasks for CPU
04/02/2022 11:13:55 | NumberFields@home | [sched_op] CPU work request: 32733.92 seconds; 0.00 devices
04/02/2022 11:13:55 | NumberFields@home | [sched_op] NVIDIA GPU work request: 0.00 seconds; 0.00 devices
04/02/2022 11:13:57 | NumberFields@home | Scheduler request completed: got 13 new tasks
The NumberFields server is about the newest of any I'm connected to:
04/02/2022 11:13:57 | NumberFields@home | [sched_op] Server version 717
In a parallel conversation on the BOINC message boards yesterday (https://boinc.berkeley.edu/forum_thread.php?id=14560), Peter was referring to the MilkyWay project. Their server returns 'Server version 713', so it's possible that the bug was fixed between those two versions. The server change log should confirm that.
Might the old server version at Milkyway account for them not being able to hand out tasks at the same time as receiving them? Nobody there can work it out.
I think (someone with more time than me needs to check) that my problem might have been caused by me using an account manager.
I set option to allow nvidia gpu on project webpage, and issue update request. Boinc manager requests connects to server, requests cpu work, then updates local gpu work preference. Next update requests cpu and gpu work.
Also when i reenable cpu work after computing gpu only, boinc requests cpu work only after second update.