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

job.submit-nocreate RPC doesn't set job state to submitted #1410

Closed
grondo opened this issue Apr 1, 2018 · 10 comments
Closed

job.submit-nocreate RPC doesn't set job state to submitted #1410

grondo opened this issue Apr 1, 2018 · 10 comments

Comments

@grondo
Copy link
Contributor

grondo commented Apr 1, 2018

As noted by @SteVwonder in flux-framework/flux-sched#304, the job.submit-nocreate RPC doesn't update the state of the job in the KVS before emitting the submitted event.

The job.submit-nocreate RPC was added as a convenience for wreckrun to attempt submitting a job in the reserved state, since the existing job.submit only worked for jobs that had not been created yet. As with job.submit, job.submit-nocreate will fail if a sched. service is not loaded, so then wreckrun can fall back to existing behavior of create a "fake" allocation.

The current behavior of emitting a wreck.state.submitted event for a job in the "reserved" state may be confusing, so should probably be fixed. However, since sched and the simulator have had to workaround the current behavior, and this instance of the job module will soon be replaced, I leave it up to @SteVwonder and @dongahn to determine if it should actually be fixed.

@dongahn
Copy link
Member

dongahn commented Apr 1, 2018

Even if submitted event is emitted, I have a logic in JSC so this should work. But sine this logic will be reworked, I wouldn't bother. @SteVwonder?

@dongahn
Copy link
Member

dongahn commented Apr 1, 2018

On a second thought, it seems @SteVwonder relies on the fact that submitted is not emitted. Another reason not to bother IMHO.

@garlick
Copy link
Member

garlick commented Apr 1, 2018

If you don't mind I think it would be good to keep this open until we're done messing with the wreck prototype, as it may be useful/easy to fix this if we are making other related changes.

@dongahn
Copy link
Member

dongahn commented Apr 1, 2018

Sounds good. Need to hear from @SteVwonder though.

@SteVwonder
Copy link
Member

The simulator relies on submitted not being emitted at first, but in order for the job to actually make its way into the scheduler's queue, the submitted event does eventually need to be emitted. The part I am unsure about is if the simulator (or any other piece of Flux) relies on the submitted state to be set in the KVS (although it would certainly make sense to keep the job's actual state and its state in the KVS consistent).

I agree with @dongahn that if the logic is going to be reworked, its not worth the effort to refactor anything right now.

@grondo
Copy link
Contributor Author

grondo commented Apr 2, 2018

Thanks for weighing in @dongahn, @SteVwonder. If everything works as is now, then I suppose nothing at this time requires state = submitted to be set in the KVS, but I worried about confusing other developers for the short time we're hacking on the wreck prototype.

It is a simple change to update the state in the KVS in the job module for the submit-nocreate RPC. I'm sorry for missing that when I threw together that PR

@SteVwonder
Copy link
Member

@grondo: I said "it is not worth the effort to refactor", but what I really meant was "I am fine with not refactoring". Sorry for not being precise the first time.

If you think it is important to change, then I'm all for it. Let me know how I can help.

@dongahn
Copy link
Member

dongahn commented Apr 2, 2018

Sounds good across the board, in particular changing this won't break anything.

@grondo
Copy link
Contributor Author

grondo commented Apr 2, 2018 via email

grondo added a commit to grondo/flux-core that referenced this issue Feb 5, 2019
The wreck exec system is worthless, remove it along with associated
commands, tests, and support code.

Since libjsc doesn't work without wreck, it is removed as well.

Fixes flux-framework#1984
Closes flux-framework#1947
Closes flux-framework#1618
Closes flux-framework#1595
Closes flux-framework#1593
Closes flux-framework#1468
Closes flux-framework#1438
Closes flux-framework#1419
Closes flux-framework#1410
Closes flux-framework#915
Closes flux-framework#894
Closes flux-framework#866
Closes flux-framework#833
Closes flux-framework#774
Closes flux-framework#772
Closes flux-framework#335
Closes flux-framework#249
grondo added a commit to grondo/flux-core that referenced this issue Feb 5, 2019
The wreck exec system is worthless, remove it along with associated
commands, tests, and support code.

Since libjsc doesn't work without wreck, it is removed as well.

Fixes flux-framework#1984

Closes flux-framework#1947
Closes flux-framework#1618
Closes flux-framework#1595
Closes flux-framework#1593
Closes flux-framework#1534
Closes flux-framework#1468
Closes flux-framework#1443
Closes flux-framework#1438
Closes flux-framework#1419
Closes flux-framework#1410
Closes flux-framework#1407
Closes flux-framework#1393
Closes flux-framework#915
Closes flux-framework#894
Closes flux-framework#866
Closes flux-framework#833
Closes flux-framework#774
Closes flux-framework#772
Closes flux-framework#335
Closes flux-framework#249
grondo added a commit to grondo/flux-core that referenced this issue Feb 5, 2019
The wreck exec system is worthless, remove it along with associated
commands, tests, and support code.

Since libjsc doesn't work without wreck, it is removed as well.

Fixes flux-framework#1984

Closes flux-framework#1947
Closes flux-framework#1618
Closes flux-framework#1595
Closes flux-framework#1593
Closes flux-framework#1534
Closes flux-framework#1468
Closes flux-framework#1443
Closes flux-framework#1438
Closes flux-framework#1419
Closes flux-framework#1410
Closes flux-framework#1407
Closes flux-framework#1393
Closes flux-framework#915
Closes flux-framework#894
Closes flux-framework#866
Closes flux-framework#833
Closes flux-framework#774
Closes flux-framework#772
Closes flux-framework#335
Closes flux-framework#249
grondo added a commit to grondo/flux-core that referenced this issue Feb 9, 2019
The wreck exec system is worthless, remove it along with associated
commands, tests, and support code.

Since libjsc doesn't work without wreck, it is removed as well.

Fixes flux-framework#1984

Closes flux-framework#1947
Closes flux-framework#1618
Closes flux-framework#1595
Closes flux-framework#1593
Closes flux-framework#1534
Closes flux-framework#1468
Closes flux-framework#1443
Closes flux-framework#1438
Closes flux-framework#1419
Closes flux-framework#1410
Closes flux-framework#1407
Closes flux-framework#1393
Closes flux-framework#915
Closes flux-framework#894
Closes flux-framework#866
Closes flux-framework#833
Closes flux-framework#774
Closes flux-framework#772
Closes flux-framework#335
Closes flux-framework#249
@grondo
Copy link
Contributor Author

grondo commented Feb 13, 2019

closed by #1988

@grondo grondo closed this as completed Feb 13, 2019
chu11 pushed a commit to chu11/flux-core that referenced this issue Feb 13, 2019
The wreck exec system is worthless, remove it along with associated
commands, tests, and support code.

Since libjsc doesn't work without wreck, it is removed as well.

Fixes flux-framework#1984
Closes flux-framework#1947
Closes flux-framework#1618
Closes flux-framework#1595
Closes flux-framework#1593
Closes flux-framework#1468
Closes flux-framework#1438
Closes flux-framework#1419
Closes flux-framework#1410
Closes flux-framework#915
Closes flux-framework#894
Closes flux-framework#866
Closes flux-framework#833
Closes flux-framework#774
Closes flux-framework#772
Closes flux-framework#335
Closes flux-framework#249
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

4 participants