UWS POST PHASE=RUN

Dave Morris dave.morris at metagrid.co.uk
Wed Nov 5 11:03:36 CET 2014


On 2014-11-03 12:29, Paul Harrison wrote:
> The intention was that the parameters could be changed at any time up
> until the job was in the executing state (so a  QUEUED job can have
> its parameter values changed, but a job in any of the “terminal”
> states cannot)  - I will try to make this more explicit in the 1.1
> draft.

On 2014-11-04 18:16, Walter Landry wrote:
> Why do allow modification of parameters?  All of the queuing systems
> that I have worked with in the past did not allow it.  If you want to
> modify parameters, you can cancel the old request and submit a new
> one.  That is essentially what would happen in the back end anyway.

On 2014-11-04 19:40, Patrick Dowler wrote:
> It would more of a pain to keep creating new async jobs rather than
> negotiate over one of them and IMO changing the job can/should be part
> of the negotiation. This all happens in PENDING phase, before any
> execution, so there is no cancel per se (client could delete the old
> job). So this is "pre-queueing".

I agree with Walter, once a job has been accepted by the server it 
should no longer be modifiable.

Allowing the job to be modified while it is still in the PENDING phase 
is useful, because it provides a way for the client and server to 
negotiate the details of the job, as described in Pat's example.

However, allowing the client to modify the details of a QUEUED job, 
after it has been accepted by the server, causes problems.

What happens if the client modifies a QUEUED job making it invalid or 
impossible to execute correctly ?

What happens if the server allocates different jobs to different queues 
based on the job parameters.

Ideally, we should treat the phase change from PENDING to QUEUED or 
EXECUTING as an explicit acceptance by the server that the parameters 
are valid and the server is able to execute the job.

Kind of like signing a contract. Once the phase changes, the contract is 
signed, the job is accepted and is no longer modifiable.

The only thing a client should be able to do to a job that is QUEUED or 
EXECUTING is to cancel it by changing the phase to ABORTED.

Dave

--------
Dave Morris
Software Developer
Wide Field Astronomy Unit
Institute for Astronomy
University of Edinburgh
--------



More information about the grid mailing list