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

fluxion cancels all running jobs in a removed queue #1319

Open
grondo opened this issue Dec 9, 2024 · 2 comments
Open

fluxion cancels all running jobs in a removed queue #1319

grondo opened this issue Dec 9, 2024 · 2 comments

Comments

@grondo
Copy link
Contributor

grondo commented Dec 9, 2024

Problem: On a production system, an overlapping queue was removed with all resources in the removed queue moved into another queue. Upon a scheduler reload, Fluxion raised a fatal exception on all jobs that had started in the old queue, e.g.:

[  +2.470985] sched-fluxion-qmanager[0]: jobmanager_hello_cb: unknown queue name
 (id=166204075275191296 queue=rabbit)
[  +2.471005] sched-fluxion-qmanager[0]: raising fatal exception on running job id=fPNq8E3xAYX
[  +2.475535] job-exec[0]: exec aborted: id=fPNq8E3xAYX
[  +2.477140] sched-fluxion-qmanager[0]: jobmanager_hello_cb: unknown queue name (id=166204048498754560 queue=rabbit)
[  +2.477161] sched-fluxion-qmanager[0]: raising fatal exception on running job id=fPNq7XFovnB

Fluxion should allow these jobs to continue running. It isn't clear why Fluxion needs to validate the queue for jobs in the RUN state which already have assigned resources.

@trws
Copy link
Member

trws commented Dec 10, 2024

That's pretty much what I would have expected to happen. I'm sure we can fix this, but as it sits we don't just validate it, the queue is the actual object in qmanager that defines behavior for various transitions, there's no notion of a job that doesn't have a queue so there are a number of places where we unconditionally invoke something on the queue of a job.

As you correctly point out, if the job is already in the run state, or even allocated, we could make it valid for the queue not to exist, but it may take extra checks in a number of places to avoid trying to update a queue object when a job transitions.

@grondo
Copy link
Contributor Author

grondo commented Dec 10, 2024

For now we can caution administrators to avoid completely removing queues if there are jobs still using the queue (especially running jobs, for which there is no way to update the queue before the change) AIUI, this was a one-off case where a queue was accidentally left enabled.

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

No branches or pull requests

2 participants