Skip to content

Disallow restart of finished job #576

@soxofaan

Description

@soxofaan

(this is spin-off of existing discussions like #442 and #436)

As clarified by 8b63b58 (for #436), the openEO API allows to restart a finished job.

A job that reached status "finished" however produced (and consumed) quite some resources, valuable to the user:

  • job result assets + their metadata
  • job logs
  • processing costs (credits, ...)
  • ...

and is unclear what should happen with these when restarting a job:

  • discard existing (meta)data. And if so: when? on restart or when second attempt finished)?
  • merge/combine data and metadata in some way? Append (possibly duplicated) assets to result collection or try to be "smart" and skip duplicates?
  • what if second run failed? Should final status be "error", and should original results still be available?
  • same: what if second run was canceled? What should final status be: "canceled" or fallback to previous status "finished"?

I strongly believe that it is conceptually a bad idea to allow restarting a job that already reached status "finished" because it comes with a lot of additional non-trivial behavior to specify and implement.

Also note that the user does not seem to want to do this anyway:
in the geopyspark implementation and aggregator we (intentionally) ignore a start request on a finished job (just to avoid all the confusion this can cause) and I can't remember any user to question this.

Side-note: I feel the same about restart on a job in "error" or "canceled" state, but I kind of understand the appeal of the ability of restarting a failed or canceled job. However to avoid bike-shedding, I would keep that out of the discussion for now.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions