Marco, thank you very much for such detailed response. I'll review our schedule code
On Mon, 18 Jan 2016 at 00:43, Marco Massenzio <m.massen...@gmail.com> wrote: > Hey Viktor, > > I'm not clear what you mean by "re-install the same framework" - do you > mean, just restarting the binary? > If so, as Vinod pointed out, you should re-register with a SUBSCRIBE > message and obtain a new FrameworkId in the response. > > And, yes, the name can stay perfectly the same (in fact, you can have > several frameworks with the same name - but different IDs - connect to the > same Master). > > Are you using the C++ API or the new HTTP API? > > If the latter, please have a look at the example here[0] for how to > "terminate" a framework and then reconnect it. > (in particular, see the sections "Registering a Framework" and > "Terminating a Framework"). > > If the former, see [1] where I set the `name` in the `FrameworkInfo` (and > that one stays the same across runs) but not the ID (that one gets returned > in the `registered()`[2] method and can be used, if necessary elsewhere in > the code; for example, when accepting offers; but should otherwise stay > unique to the FW). > > There are many (better!) examples around of frameworks also in the > "Examples" folder in the Mesos source code[3]; you may want to take a look > there too. > > > [0] > https://github.com/massenz/zk-mesos/blob/develop/notebooks/Demo-API.ipynb > [1] > https://github.com/massenz/mongo_fw/blob/develop/src/mongo_scheduler.cpp#L194 > [2] > https://github.com/massenz/mongo_fw/blob/develop/src/mongo_scheduler.cpp#L70 > [3] > https://git-wip-us.apache.org/repos/asf?p=mesos.git;a=tree;f=src/examples > > -- > *Marco Massenzio* > http://codetrips.com > > On Sat, Jan 16, 2016 at 12:52 AM, Viktor Sadovnikov <vik...@jv-ration.com> > wrote: > >> Yes, I need to re-install the same framework. It can get another ID, but >> its name should remain the same. >> I though the framework ID dynamically assigned by the Master upon the >> connection and did not expect the Master to provide the same ID >> >> On Fri, Jan 15, 2016 at 10:15 PM, Vinod Kone <vinodk...@apache.org> >> wrote: >> >>> What do you mean by gracefully recover? If you mean the ability to >>> reconnect, you need to change the framework id in the FrameworkInfo when >>> registering with the master. >>> >>> As a hack, you could restart the master, so that it forgets that it >>> removed the framework with id XXXX and hence allows it to re-register with >>> the old id. >>> >>> On Fri, Jan 15, 2016 at 5:37 AM, Viktor Sadovnikov <vik...@jv-ration.com >>> > wrote: >>> >>>> Hello, >>>> >>>> I have removed a framework from Mesos Cluster by curl -X POST -d >>>> 'frameworkId=XXXXXXXX-b036-4cb7-af53-4c837dc9521d-0002' >>>> http://${MASTER_IP}:5050/master/teardown". >>>> This successfully removed all the framework tasks and scheduler. >>>> >>>> However now Mesos Cluster rejects my attempts to re-install the >>>> framework. Is there a way to gracefully recover from this situation? >>>> >>>> I0115 12:54:57.916470 28856 sched.cpp:1024] Got error 'Framework has >>>> been removed' >>>> I0115 12:54:57.916509 28856 sched.cpp:1805] Asked to abort the driver >>>> I0115 12:54:57.916824 28856 sched.cpp:1070] Aborting framework >>>> '8ca5c18f-b036-4cb7-af53-4c837dc9521d-0001' >>>> >>>> With regards, >>>> Viktor >>>> >>> >>> >> >