On Tue, Apr 22, 2014 at 6:26 PM, Saminda Wijeratne <samin...@gmail.com>wrote:
> You mean like a monitoring client at client end triggering a listener? > Thats ideal, but different story altogether. I mean triggering a listener for all major status changes including canceling. In this context I mean once the client gets Canceling at experiment level, once all lower level statues gets updated, we should ensure subsequent client query to experiment returned Cancelled. I see your plan already accounts for it, was just restating its simpler for gateways to wait on experiment status instead of expecting to navigate through Task->Job to verify the success. Suresh > > > On Tue, Apr 22, 2014 at 5:22 PM, Suresh Marru <sma...@apache.org> wrote: > >> Hi Saminda, >> >> This like a good plan, I think we should make sure the API server >> properly reports these statuses back to the clients. >> >> Suresh >> >> On Apr 21, 2014, at 9:06 AM, Saminda Wijeratne <samin...@gmail.com> >> wrote: >> >> Hi All, >> >> After looking at the current design and doing some trial and error I >> thought of implementing the cancellation as follows. >> >> >> - Cancellation of an experiment requested by a gateway requires >> cancellation request to go through several layers. (Orchestrator > GFac > >> GFac Provider) >> - Each layer is responsible for handling cancellation relevant for >> that layer (Orchestration cancels experiment, GFac cancels Task, GFac >> Provider cancels Job) >> - What I thought is, each layer will listen to cancellation request >> made to the layer above and perform its cancellation actions accordingly. >> (GFac will see the experiment is having the status "canceling" for an >> experiment id and it will perform cancellation of the tasks relevant for >> that experiment) >> - Effectively the Orchestrator will be >> - updating the status of the experiment in registry with the >> status "canceling" >> - publish a message which will be caught by GFac instance which >> handles its Tasks. >> - GFac will perform the same and the correct GFac Provider >> instance will catch the message and perform the actual job >> cancellation. >> - Once the job cancellation is done the statuses at each layer will >> be updated (to "canceled") in similar fashion. >> - We allow the API call of cancellation to be asynchronous >> - I'm hoping to use the MonitorPublisher implemented by Lahiru to >> publish the messages. >> >> wdyt? >> >> >> Thanks, >> >> Saminda >> >> >> >> >