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

skip refresh of a DONE job #599

Closed
ultra-sonic opened this issue Apr 8, 2024 · 6 comments
Closed

skip refresh of a DONE job #599

ultra-sonic opened this issue Apr 8, 2024 · 6 comments
Assignees
Milestone

Comments

@ultra-sonic
Copy link

Hi Timur,

i am creating this ticket as a follow up on #592
here is a quote of our converstation:

we have also noticed that the cpu load of afserver goes up just by having lots of "DON" jobs.
we usually have 1000 RDY jobs and sometime between 4000-10000 DON jobs and they seem to have a huge impact on the server performance.
shouldn't those jobs be skipped really fast? is there anything that the server needs to check on them?

where you answered:

  1. DONE jobs are skipped in solving. Unfortunatelly DONE jobs refreshes same way as not DONE. Any node runs refresh in Afanasy every second. Jobs check depends and refreshes all task to refresh counts and state. This needed, for example, if you restart task of some done job.
    But i see that we can optimize refresh, i think that we can totally skip refresh of a DONE job, and run refresh on any action (restart something).

We would greatly appreciate if this change could be added to the 3.4.0 release. Do you think this is doable?

Thanks in advance
Oli ( and @sebastianelsner )

@timurhai
Copy link
Member

timurhai commented Apr 8, 2024

Hello, Oli!
Right now I implementing SUSPENDED task state, needed for manual (from outside) dependence solving between tasks.
This is not a big deal, and I think i will finish it at the next week.
Later I can start to solve this issue (it is not big too).
So it will be added to the 3.4.0 release.

@timurhai timurhai self-assigned this Apr 8, 2024
@timurhai timurhai added this to the 3.4.0 milestone Apr 8, 2024
@ultra-sonic
Copy link
Author

thanks for the quick reply and for adding it to 3.4.0
much appreciated!

timurhai added a commit that referenced this issue Apr 21, 2024
Next refresh can be forced with JobAf::forceRefresh() function.
It called from job and block actions (user restarted some task(s)).

Testing needed.

References #599.
@timurhai
Copy link
Member

This day at our studio we are working on an updated server.
It seems everything is ok.
Binary compatibility was not broken, so you can test.

@timurhai
Copy link
Member

It still works fine, i think that issue is done.

@sebastianelsner
Copy link
Contributor

Yes! This works for us as well. Many thanks for implementing. I think this took a bit of load of the server. But still, we are seeing that the actual issue is the various "hasTicket" functions, which are called many times and load our server.

@ultra-sonic
Copy link
Author

as @sebastianelsner this works like a charme! thanks a lot for implementing this!

timurhai added a commit that referenced this issue Aug 5, 2024
Since server starts to skip done jobs refresh, it stopped to check life time. Now the bug fixed.

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

No branches or pull requests

3 participants