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

Roles of Job vs Execution Context #634

Closed
godber opened this issue Dec 8, 2017 · 2 comments
Closed

Roles of Job vs Execution Context #634

godber opened this issue Dec 8, 2017 · 2 comments

Comments

@godber
Copy link
Member

godber commented Dec 8, 2017

This has been bothering me for a while and I know I've brought it up before but now I think I realize the reason the way we currently store and validate jobs is not quite right given that we also have this notion of the execution context. The thing that bothers me is that a users job gets validated and expanded and stored as a "Job" and then copied over as an execution context. I suggest that we change how this works and only ever store the users "raw" (unvalidated) job on the job object and then do the validation and expansion on the execution context. Conceptually speaking the job represents the users unmodified request and the execution context represents the the expansion of the job and thing that actually gets executed.

The realization I had was that the validation/expansion step then more tightly couples the job to implementation details of a specific version of the code. You could be left with jobs that don't run after upgrading teraslice or with defaults from earlier versions. Whereas if the job had not been validated/expanded it would be more likely to run after code changes. Now, I don't consider this a real driving reason to make this change, it is more of a hint or clue that the current behavior is not quite right.

I realize this complicates the validation at submission time but that is probably manageable.

@godber godber added the question label Dec 8, 2017
@godber godber changed the title Rolls of Job vs Execution Context Roles of Job vs Execution Context Dec 8, 2017
@kstaken
Copy link
Member

kstaken commented Jan 5, 2018

I agree with this and this behavior is definitely causing a few issues.

jsnoble added a commit to jsnoble/teraslice that referenced this issue Jan 9, 2018
jsnoble added a commit to jsnoble/teraslice that referenced this issue Jan 9, 2018
@kstaken
Copy link
Member

kstaken commented Jan 11, 2018

This isn't fully resolved. Updating existing jobs still converts names to IDs and stores the validated job.

@kstaken kstaken reopened this Jan 11, 2018
jsnoble added a commit to jsnoble/teraslice that referenced this issue Jan 12, 2018
jsnoble added a commit to jsnoble/teraslice that referenced this issue Jan 19, 2018
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

2 participants