UWS 1.1 working draft
Patrick Dowler
patrick.dowler at nrc-cnrc.gc.ca
Wed Jun 4 14:50:50 PDT 2014
On 03/06/14 11:58 PM, Paul Harrison wrote:
> I think that we could avoid the race conditions that Mark is worried about with some explicit rule on the server that it never blocks for one of the terminal phases (as Pat said below). Additionally saying that the server must return always when phase changes (but can return sooner) should address Mark’s concerns I think.
Yes, that is the whole intent of never blocking once the job reaches a
terminal phase: avoid getting stuck due to a race condition. It is a
critical feature of the general blocking behaviour... I was thinking
about it in the sense of "waitForTrue" when using a mutex in
multi-threaded programming... where "true" in this case is somewhat
vague and implementation specific.
> It seems to me a pretty sensible suggestion to make this full blocking generalisation - my only concern is really that we might be missing something that does not allow this to be a “1.1” release - i.e. breaks backward compatibility. If no-one comes up with any objections I will make the changes to the WD.
It seems that a new child resource would give a 404 (not found) until a
service is "upgraded" to UWS 1.1 no matter what that resource was. If
the new resource was optional (and 404 was the correct response when not
supported) then all existing services would comply by default to
UWS-1.1; I looked at 501 (not implemented) but it appears to be intended
for HTTP request methods rather than generic lack of functionality... so
404 is probably the right RESTful thing anyway.
Having said that, I'm not crazy about optional things, especially those
that are admittedly tricky to implement, as support may not be widely
available. And I don't know that there is any way to describe your
service such that you convey which version of UWS you support as it is
always secondary to the actual standardID of the capability.
--
Patrick Dowler
Canadian Astronomy Data Centre
National Research Council Canada
5071 West Saanich Road
Victoria, BC V9E 2E7
250-363-0044 (office) 250-363-0045 (fax)
More information about the grid
mailing list